我有一个包含很多名称等的文件,中间有空格。现在,我想用 sed 删除此文件中的所有尾随空格和所有空行。
我有两个用于此任务的命令,但我希望将两者结合使用:
sed -i's/\s*$//g'
sed -i'/^$/d'
Run Code Online (Sandbox Code Playgroud)
使用 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)