sed -e和sed -f之间的区别

时间:2015-04-23 07:20:30

标签: unix sed

sed -esed -f选项之间的区别是什么?其中哪些应该用于现场编辑。 我无法从手册页中清楚地理解它们的含义。

2 个答案:

答案 0 :(得分:1)

sed -e <commands>执行命令行上传递的命令,如sed -e s/foo/bar/,而sed -f <file>执行传递文件中的命令。

它们都与现场编辑无关。那是-i <backup_extension>。如果没有传递任何扩展名(例如sed -i '' -e s/foo/bar/ file_to_edit),则不进行备份。

答案 1 :(得分:1)

根据sed

的手册页

-e脚本 --expression =脚本 将脚本中的命令添加到处理输入时要运行的命令集

这意味着sed将在命令行本身执行直接传递给它的命令,例如sed -e 's/foo/bar/g'

在哪里, -f脚本文件 --file =脚本文件 将文件脚本文件中包含的命令添加到处理输入时要运行的命令集中。

使用-f sed时会期望-f选项后指定的文件中的命令。这通常适用于复杂的操作。

只要进行编辑,就可以使用任何选项。例如:

sed -i -e 's/foo/bar/g'