sed -e 和 sed -f 的区别
Difference between sed -e and sed -f
sed -e
和 sed -f
选项有什么区别。其中哪些应该用于就地编辑。
我无法从手册页中清楚地理解它们的含义。
sed -e <commands>
执行在命令行上传递的命令,如 sed -e s/foo/bar/
,而 sed -f <file>
执行在传递的文件中找到的命令。
None 其中与就地编辑有关。那是 -i <backup_extension>
。如果没有传递扩展名(如 sed -i '' -e s/foo/bar/ file_to_edit
),则不会进行备份。
根据 sed
的手册页
-e脚本
--expression=脚本
在处理输入
时,将脚本中的命令添加到要运行的命令集中
这意味着 sed 将在命令行本身上执行直接传递给它的命令,例如 sed -e 's/foo/bar/g'
其中,
-f 脚本文件
--file=脚本文件
在处理输入时,将文件脚本文件中包含的命令添加到要 运行 的命令集中。
在使用 -f sed 时需要在 -f
选项后指定的文件中执行命令。这通常对复杂的操作很有用。
只要是就地编辑,任何选项都可以使用。例如:
sed -i -e 's/foo/bar/g'
sed -e
和 sed -f
选项有什么区别。其中哪些应该用于就地编辑。
我无法从手册页中清楚地理解它们的含义。
sed -e <commands>
执行在命令行上传递的命令,如 sed -e s/foo/bar/
,而 sed -f <file>
执行在传递的文件中找到的命令。
None 其中与就地编辑有关。那是 -i <backup_extension>
。如果没有传递扩展名(如 sed -i '' -e s/foo/bar/ file_to_edit
),则不会进行备份。
根据 sed
的手册页-e脚本 --expression=脚本 在处理输入
时,将脚本中的命令添加到要运行的命令集中这意味着 sed 将在命令行本身上执行直接传递给它的命令,例如 sed -e 's/foo/bar/g'
其中, -f 脚本文件 --file=脚本文件 在处理输入时,将文件脚本文件中包含的命令添加到要 运行 的命令集中。
在使用 -f sed 时需要在 -f
选项后指定的文件中执行命令。这通常对复杂的操作很有用。
只要是就地编辑,任何选项都可以使用。例如:
sed -i -e 's/foo/bar/g'