perl -pi -e语法与|或者<

时间:2011-03-02 19:02:18

标签: perl

如果我想用bar替换所有foo的情况,我只需这样做。

perl -pi -e 's/foo/bar/gi' /home/smith/myfile.txt

如果我只想替换| foo |怎么办?与|酒吧|?

相关问题。如果我只想替换> foo<使用> bar< ?

3 个答案:

答案 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<示例更容易,因为它们不是正则表达式字符。