Bash:在行尾找到带尾随空格的文件

时间:2012-06-26 14:56:08

标签: linux bash trailing

我正在寻找一个bash命令来查找每行末尾有尾随空格的文件。我对删除空格不感兴趣,只是找到文件。

8 个答案:

答案 0 :(得分:31)

查找具有尾随空格的文件。

find . -type f -exec egrep -l " +$" {} \;

答案 1 :(得分:12)

如果目标是列出在一行或多行中具有尾随空格的文件:

grep -r '[[:blank:]]$' .

要不打印行,仅打印文件名,还请指定-l选项。那是l,与单词list相同,而不是数字1

答案 2 :(得分:1)

查找包含一个或多个尾随空格字符的文件:

find . -name "*" | xargs egrep ".* +$"

答案 3 :(得分:1)

可以选择列出其中任何位置不包含匹配项的文件;将它和正则表达式用于行尾之前的空格以外的字符。

grep -L '[^ ]$' *

要递归目录,请添加-r。要搜索其他空格字符,请使用字符类$'[^ \t]$'或POSIX '[^[:blank:]]$'作为正则表达式。

答案 4 :(得分:1)

使用ack(或ag):

ack -l ' \n'

注意:与其他一些答案一样,这将列出包含带有尾随空格的一行或多行行的文件。

答案 5 :(得分:1)

如果目标是在当前路径列出文件 尾随空格

grep -rli '[[:blank:]]$' .

答案 6 :(得分:0)

如果问题是在字面上找到每一行末尾都有空白的文件,那么这应该有效:

grep -rL '[^[:blank:]]$' .

-L告诉grep报告与模式不匹配的每个文件,模式正在查找紧接在换行符之前没有空白的行。

答案 7 :(得分:0)

尝试一下:

find . -type f -name "* "