是否可以在目录中找到长度超过 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