sed -e和sed -f选项的区别是什么?其中哪一个应该用于就地编辑。我无法从手册页中清楚地理解它们的含义。
发布于 2015-04-23 07:31:58
根据sed的手册页
-e脚本--表达式=脚本--在处理输入时将脚本中的命令添加到要运行的命令集中
这意味着sed将在命令行本身(如sed -e 's/foo/bar/g' )上执行直接传递给它的命令。
其中,-f脚本- file -file= script-file -将包含在文件脚本文件中的命令添加到处理输入时要运行的命令集中。
在使用-f时,sed将期待在-f选项之后指定的文件中的命令。这对于复杂的操作通常是有用的。
只要在适当的编辑方面,任何选项都可以使用。例如:
sed -i -e 's/foo/bar/g'
发布于 2015-04-23 07:24:18
sed -e <commands>像sed -e s/foo/bar/一样执行在命令行上传递的命令,而sed -f <file>则执行在传递的文件中找到的命令。
它们中没有一个与内部编辑有关。那是-i <backup_extension>。如果没有传递任何扩展(如sed -i '' -e s/foo/bar/ file_to_edit),则不会进行备份。
https://stackoverflow.com/questions/29816384
复制相似问题