一个挺实用的shell脚本,删除每行末尾的空格

在term间Ctrl-Shift-C/V复制粘贴,有时产生大量尾空格。与其到处翻设置,不如让AI写个脚本:

#!/bin/dash
for f in $*; do
 sed -i.bak 's/[[:space:]]*$//' "$f"
done

这点小事发个随笔的原因:-i和.bak间不能有空格。

这次AI没放零宽度字符之类,我自己眼花。

s/[ \t]*$//更好。

不加-E选项时为基础模式,此时+并不表示“一个或多个”的扩展正则表达式含义,而是字面上的加号字符。

凑够“四种写法”吧:

s/[ \t]\{1,\}$//

s/[ \t]\+$//

posted @ 2025-11-09 12:40  华容道专家  阅读(7)  评论(0)    收藏  举报