2013-08-08 17 views

Trả lời

17

Sử dụng " để thay thế. Và thêm g cờ để thay thế tất cả.

sed "s/\+/\'/g" test.txt 
+0

sed "s/\ $/\ '/ g" ut.txt - đây là thêm' ở cuối thay vì thay thế ký tự $. tui bỏ lỡ điều gì vậy? – Anu

+1

sed -e "s/\\ $/\ '/ g" ut.txt hoạt động. cảm ơn. – Anu

2

+ không phải là một nhân vật đặc biệt mà không -r switch trong sed. Bạn có thể chạy lệnh thay thế mà không cần bất kỳ thoát:

echo '+foo+' | sed "s/+/'/g" 

# output: 'foo' 

Nếu bạn muốn lưu thay đổi tập tin sau đó sử dụng:

sed -i.bak "s/+/'/g" test.txt 
3

Bạn cũng có thể thay thế tất cả các trường hợp của + với ' trong tập tin bằng cách sử dụng tr:

tr '+' "'" < inputfile 
3

Điều này có thể hoạt động cho yoyu (GNU sed):

sed 'y/+/'\''/' file 
+1

Để rõ ràng hơn: sử dụng ''\' '' thay vì ''' – KrisWebDev