grep 查找包含长度大于 x 个字符的字符串的文件?

grep 查找包含长度大于 x 个字符的字符串的文件?

是否可以在目录中找到长度超过 x 的字符串(没有空格)的文件?

答案1

我认为自己是一个正则表达式新手,但是我创建了一堆包含可变长度字符串的文件,并且我想我得到了你想要的东西,请尝试这个:

user@host$ grep -e '[^\ ]\{7,\}' *


对于那些不太理解这一点的人来说:

-e使用正则表达式进行 grep 搜索。 [^\ ]表示匹配除空格之外的单个字符。 \{7,\}表示匹配 7 个或更多字符的字符串。如果您在后面加上另一个数字,则它将是 7 到 x 个字符之间的字符串。

答案2

我无法让上面的示例工作。我正在搜索 CSV 文件中长度超过 10000 个字符的行。我折腾了好一会儿才得到这个... 查找长度超过 9999 个字符的行...

grep -a -e '[^\ ]\{9999,\}' *.csv >../my-file.csv

这正是我真正需要的。CSV 文件中的行少于 10000 个字符。查找少于 9999 个字符的行

grep -a -v -e '[^\ ]\{9999,\}' *.csv >../my-file.csv

相关内容