在 Pattern 之后编辑的一行脚本

One line script to edit after the Pattern

我在这里有一个示例,但不会将 output/print 写入文件

perl -lne 'print $_;print "This is Middle" if(/Beginning/);' file

我尝试输入 > file 但它恰好将其全部覆盖为空。

您不能同时读取文件写入文件。通常处理这种事情的方法是写入一个临时文件并在操作后用它替换原来的文件:

perl -lne 'print $_;print "This is Middle" if(/Beginning/);' file > file.tmp; \
mv -f file.tmp file

See also.