Các OSX sed
s được dựa trên các phiên bản cũ hơn, bạn cần phải được nhiều hơn nữa chữ trong hướng dẫn của bạn để sed, VÀ bạn may mắn, trong trường hợp này, sed
đang nói cho bạn biết chính xác phải làm gì. Chưa được kiểm tra vì tôi không có OSX, nhưng hãy thử
sed '1 i\
VISPATH=/mnt/local/gdrive/public/3DVis
' init.txt >> ~/.bash_profile
Nhập thông qua i
cmd được chấm dứt bằng một dòng trống. Các hướng dẫn sed khác có thể theo sau đó. Lưu ý, KHÔNG có ký tự sau \
char!
Ngoài ra, @StephenNiedzielski là đúng. Sử dụng các ký tự trích dẫn đơn để bọc các câu lệnh sed của bạn. (Nếu bạn cần biến mở rộng bên trong sed và có thể thoát khỏi ứng dụng khác lại $
, sau đó bạn cũng có thể sử dụng dbl dấu ngoặc kép, nhưng nó không được khuyến khích như một thông lệ bình thường.
chỉnh sửa
Theo tôi được biết hiện nay bạn đang làm điều này từ dòng lệnh, chứ không phải trong kịch bản hay trình soạn thảo khác, tôi đã thử nghiệm ở trên, và .... tất cả những gì tôi có thể nói là dòng nổi tiếng từ hỗ trợ kỹ thuật ... "Nó hoạt động cho "Nếu bạn nhận được thông báo lỗi
sed: -e expression #1, char 8: extra characters after command
thì bạn gần như chắc chắn đã thêm một số ký tự sau \
. Tôi vừa thử nghiệm điều đó và tôi nhận được thông báo lỗi ở trên. (Tôi đang sử dụng một phiên bản Linux của sed, vì vậy các thông báo lỗi là chính xác như nhau). Bạn nên chỉnh sửa câu hỏi của mình để bao gồm việc cắt chính xác dòng lệnh của bạn và thông báo lỗi mới mới. Sử dụng dấu nháy đơn sẽ không hoạt động.
IHTH
Điểm tốt về các trích dẫn, nhưng điều đó một mình không giải quyết được vấn đề cụ thể của OSX. – mklement0