如果我想用bar替换所有foo的情况,我只需这样做。
perl -pi -e 's/foo/bar/gi' /home/smith/myfile.txt
如果我只想替换| foo |怎么办?与|酒吧|?
相关问题。如果我只想替换> foo<使用> bar< ?
答案 0 :(得分:3)
你必须逃避|字符:
perl -pi -e 's/\|foo\|/\|bar\|/gi' /home/smith/myfile.txt
答案 1 :(得分:3)
尝试:
perl-pi -e 's/\Q|foo|\E/|bar|gi' /home/smith/myfile.txt
请参阅perldoc perlre
并搜索/Escape sequences/
。
答案 2 :(得分:1)
您只需要使用正确的引用。使用'引号,你可以非常安全地做你想做的事。除了与正则表达式字符相关的内容,例如“|”。所以它会变成这样:
perl -pi -e 's/\|foo\|/|bar|/gi' /home/smith/myfile.txt
> foo<示例更容易,因为它们不是正则表达式字符。