寻找在给定字符串第 N 次出现后插入一行的方法。

以下内容与我正在寻找的内容接近,但基于行号,而不是基于给定字符串的第 N 次出现。

perl -ni -e 'print; print "Put after fifth line\n" if $. == 5' inFile.txt

最佳答案

以下将在第二次出现字符串 xyz 后添加一行 abc :

perl -pi -e '/abc/&&++$n==2 and $_.="xyz\n"' inFile.txt

10-08 11:19