我有一个sed文件,其中包含一些替换,它使用以下语法在文件上执行:

sed -f mysedfile file.txt > fixed_file.txt

我想测试一个系统变量,根据该变量包含的内容,对file.txt执行不同的sed操作。
可以把这个逻辑放到mysedfile中吗?
谢谢你的帮助。

最佳答案

Perl是为了绕过sed和awk的限制而显式创建的。-p模式为文件中的每一行运行一个脚本。你可以把它放在命令行上:

perl -p -e "s/foo/\$ENV{'HOME'}/e" < files.txt

或者将脚本移动到文件中(您可以在\之前删除“$”)
perl -p file.pl < files.txt

或者让脚本的第一行像这样,这样就可以直接运行它。
#!/usr/bin/perl -p

关于linux - 如何在sed文件中测试linux变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21417167/

10-11 15:30
查看更多