您正在逐行读取文件,因此只有第一行与您的正则表达式匹配。如果您确实要删除大部分内容,那么您想要做的就是通过使用
-0选项(例如)对文件进行处理
-0777。这是行尾处理,
777只是常规上用作八进制数的数字,该数字足够大以致于引起文件拖尾现象。
perl -0777 -i -pe 's/([mysqld][^^]+)/$1nsometext/g' test.txt
另外,我替换了您的报价。如果您似乎在* nix中,则最好使用单引号。举例来说,
$1shell不会插值。

您正在逐行读取文件,因此只有第一行与您的正则表达式匹配。如果您确实要删除大部分内容,那么您想要做的就是通过使用
-0选项(例如)对文件进行处理
-0777。这是行尾处理,
777只是常规上用作八进制数的数字,该数字足够大以致于引起文件拖尾现象。
perl -0777 -i -pe 's/([mysqld][^^]+)/$1nsometext/g' test.txt
另外,我替换了您的报价。如果您似乎在* nix中,则最好使用单引号。举例来说,
$1shell不会插值。