shell – 如何删除多个文件的尾部空白?

有没有任何工具/ UNIX单个内容,它将删除多个文件的结尾空白的就地。

例如。一个可以与find结合使用。

你要
sed --in-place 's/[[:space:]]\+$//' file

这将删除所有POSIX标准定义的空格字符,包括垂直制表符和换页符。此外,它将只做一个替换,如果尾部空白实际上存在,不像使用零或更多匹配器(*)的其他答案。

– in-place只是-i的长整型。我喜欢在脚本中使用长形式,因为它倾向于更多地说明标志实际上做了什么。

它可以很容易地集成发现像这样:

find . -type f -name '*.txt' -exec sed --in-place 's/[[:space:]]\+$//' {} \+

如果你是在Mac上

正如评论中所指出的,如果您没有安装gnu工具,上述方法不起作用。如果是这种情况,您可以使用以下:

find . -iname '*.txt' -type f -exec sed -i '' 's/[[:space:]]\{1,\}$//' {} \+

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...