假设我有一个包含这几行的文件
Hello abc
hii
how are you
Hello abc
如果我想用 xyz 替换第二次出现的 abc,我该怎么做?
我想要这样的输出
Hello abc
hii
how are you
Hello xyz
我试着做 perl -pi -e 's/abc/xyz/if $. == 2' 文件名
。它不适合我。谁能帮我解决这个问题?
最佳答案
perl -i -pe's/abc/ ++$count == 2 ? "xyz" : "abc" /eg' file
即使 abc
每行出现不止一次,这仍然有效。
关于regex - 如何解决此匹配并替换perl文件中仅第n次出现的单词的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54745944/