Regex 如何替换shell中的句子?
我想找到一种方法来替换Shell中文本文件中的一个句子 例如,我想将中的“客户名称1”替换为“客户名称,杰克”。 我故意把这些特殊的字符包括在内 我理解Regex 如何替换shell中的句子?,regex,shell,replace,sed,Regex,Shell,Replace,Sed,我想找到一种方法来替换Shell中文本文件中的一个句子 例如,我想将中的“客户名称1”替换为“客户名称,杰克”。 我故意把这些特殊的字符包括在内 我理解sed-I的/original/new/g'文件 我正在寻找一些可以取代更复杂的句子,可能包括特殊字符的东西 您的示例在sed中运行良好 $ sed 's/Customer Name 1/customer name, jack _ 1/g' cust cust Customer Name 1 customer name, jack _ 1 (输
sed-I的/original/new/g'文件
我正在寻找一些可以取代更复杂的句子,可能包括特殊字符的东西 您的示例在sed中运行良好
$ sed 's/Customer Name 1/customer name, jack _ 1/g'
cust
cust
Customer Name 1
customer name, jack _ 1
(输入奇数行,输出偶数行。)
通常,如果您的某些符号被误解,您可以尝试通过在它们之前添加反斜杠(\
)来转义它们
perl -i.bak -pe 's/Customer Name 1/customer name, jack _1/g;' [file(s)]
对一个或多个文件的就地编辑也会执行相同的操作您担心哪些特殊字符
sed
将处理大部分内容,不过您需要注意原始文本或替换文本中的任何斜杠,并对其进行特殊处理。模式中的换行是另一个问题;你一定要担心吗?