我正在寻找一个bash命令来查找每行末尾有尾随空格的文件。我对删除空格不感兴趣,只是找到文件。
答案 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)
答案 5 :(得分:1)
如果目标是在当前路径中列出文件 尾随空格:
grep -rli '[[:blank:]]$' .
答案 6 :(得分:0)
如果问题是在字面上找到每一行末尾都有空白的文件,那么这应该有效:
grep -rL '[^[:blank:]]$' .
-L
告诉grep
报告与模式不匹配的每个文件,模式正在查找紧接在换行符之前没有空白的行。
答案 7 :(得分:0)
尝试一下:
find . -type f -name "* "