Tôi có lệnh này:sed - thay thế văn bản với ruột
sed -i "s/a:b/b:c/g" file.txt
(bằng tiếng Anh: thay thế "a: b" với "b: c" trong file.txt)
Điều này không làm việc vì các dấu hai chấm trong văn bản cho thuê. Tôi nên viết lại lệnh như thế nào?
Tôi có lệnh này:sed - thay thế văn bản với ruột
sed -i "s/a:b/b:c/g" file.txt
(bằng tiếng Anh: thay thế "a: b" với "b: c" trong file.txt)
Điều này không làm việc vì các dấu hai chấm trong văn bản cho thuê. Tôi nên viết lại lệnh như thế nào?
này đã làm việc cho tôi:
-->cat 1
a:bLINE1
a:bLINE2
-->cat 1 | sed 's/a:b/b:c/g'
b:cLINE1
b:cLINE2
[Tương tự tại đây.] (Http://stackoverflow.com/questions/14389141/sed-replacing-text-with-colon#comment20016526_14389141) – speakr
Yeayh, đúng vậy. Nó không phải là nó. Nó không thành công do cái gì khác, mà tôi đã tìm ra. – user1508893
Nghe có vẻ giống như một câu hỏi hay - ít nhất là bây giờ tôi chắc chắn rằng ruột kết không được coi là một nhân vật đặc biệt bởi sed! –
Trong trường hợp bạn muốn được an toàn, bạn có thể thoát khỏi :
ruột
sed -re "s/a\:b/b\:c/g" temp.txt
gì không hoạt động? Ít nhất GNU sed 4.2.1 (ví dụ trên Debian) thực hiện chính xác những gì bạn muốn. – speakr