一个命令中的两个 sed 命令

Der*_*oom 3 sed

我有一个包含很多名称等的文件,中间有空格。现在,我想用 sed 删除此文件中的所有尾随空格和所有空行。

我有两个用于此任务的命令,但我希望将两者结合使用:

sed -i's/\s*$//g' 
sed -i'/^$/d'
Run Code Online (Sandbox Code Playgroud)

ter*_*don 9

使用 GNU sed(可能还有其他),您可以给出多个用分号分隔的命令:

sed -i 's/\s*$//g; /^$/d'
Run Code Online (Sandbox Code Playgroud)

其他sed实现可能需要您分别使用-e以下命令给出两个命令:

sed -i -e 's/\s*$//g' -e '/^$/d'
Run Code Online (Sandbox Code Playgroud)

最后,您还可以将它们组合成一个sed脚本:

$ cat foo.sed
s/\s*$//g
/^$/d
Run Code Online (Sandbox Code Playgroud)

然后,您使用以下命令运行它-f

$ sed -i -f foo.sed file
Run Code Online (Sandbox Code Playgroud)