我试图在Shell中找到替换文本文件中的句子的方法,
例如,我想将"客户名称1" 替换为"客户名称,jack _ 1" 。 我故意将特殊字符包括在内。
我理解sed -i 's/original/new/g' file
我正在寻找能够取代可能包含特殊字符的更复杂句子的东西。
答案 0 :(得分:2)
你的例子在sed中运行得很好......
$ sed 's/Customer Name 1/customer name, jack _ 1/g'
cust
cust
Customer Name 1
customer name, jack _ 1
(输入奇数行,输出偶数行。)
通常,如果某些符号被误解,您可以尝试通过在它们之前添加反斜杠(\
)来转义它们。
答案 1 :(得分:0)
perl -i.bak -pe 's/Customer Name 1/customer name, jack _1/g;' [file(s)]
将在文件或文件的原位编辑中执行相同的操作