删除尾随空格,但是在包含除标签之外的字符的行上?

时间:2015-01-28 23:41:22

标签: regex bash sed

我正在构建一个bash脚本,我希望删除文件所有行上的尾随空格,除非该行只包含标签。

这就是我弄清楚如何删除所有行上所有尾随空格的方法:

sed -i '' -e's/[[:space:]]*$//' [FILENAME HERE]

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

bang !操作员强制sed在不包含标签的行上进行替换。

sed -i '/^\t\+$/!s/[[:space:]]*$//' file

OR

sed -i '' '/^\t\+$/!s/[[:space:]]*$//' file