Mic*_*zek 21
sed 在这方面做得很糟糕,因为它一次只运行一行。我见过这样做的唯一体面的技术是这个,它涉及将整个文件存储在 sed 的保持缓冲区中,然后立即对其进行操作:
sed -n '1h;1!H;${g;s/search/replace/;p;}'
Run Code Online (Sandbox Code Playgroud)
如果可以,使用 perl 来完成此操作要容易得多:
perl -0pe 's/search/replace/'
Run Code Online (Sandbox Code Playgroud)
search
可以包含\n
s 来表示换行符