sbuck Asked: 2010-01-31 15:07:56 +0800 CST2010-01-31 15:07:56 +0800 CST 2010-01-31 15:07:56 +0800 CST grep 查找包含长度大于 x 个字符的字符串的文件? 772 是否可以在目录中找到长度超过 x 的字符串(没有空格)的文件? linux grep regular-expressions 2 个回答 Voted Best Answer maik 2010-01-31T15:55:07+08:002010-01-31T15:55:07+08:00 我认为自己是一个正则表达式菜鸟,但我创建了一堆带有可变长度字符串的文件,我想我得到了你想要的,试试这个: user@host$ grep -e '[^\ ]\{7,\}' * 对于那些不太了解这一点的人: -e使用正则表达式进行 grep 搜索。 [^\ ]表示匹配除空格以外的单个字符。 \{7,\}表示匹配 7 个或更多字符的字符串。如果您要在后面加上另一个数字,它将是 7 到 x 个字符之间的字符串。 Jon Bruce 2013-05-03T08:28:13+08:002013-05-03T08:28:13+08:00 我无法让上面的示例正常工作。我在 CSV 文件中搜索超过 10000 个字符的行。我搞砸了很多,得到了这个......查找长度超过 9999 个字符的行...... grep -a -e '[^\ ]\{9999,\}' *.csv >../my-file.csv 而这正是我真正需要的。CSV 文件中的行数少于 10000 个字符。查找少于 9999 个字符的行 grep -a -v -e '[^\ ]\{9999,\}' *.csv >../my-file.csv
我认为自己是一个正则表达式菜鸟,但我创建了一堆带有可变长度字符串的文件,我想我得到了你想要的,试试这个:
user@host$ grep -e '[^\ ]\{7,\}' *
对于那些不太了解这一点的人:
-e
使用正则表达式进行 grep 搜索。[^\ ]
表示匹配除空格以外的单个字符。\{7,\}
表示匹配 7 个或更多字符的字符串。如果您要在后面加上另一个数字,它将是 7 到 x 个字符之间的字符串。我无法让上面的示例正常工作。我在 CSV 文件中搜索超过 10000 个字符的行。我搞砸了很多,得到了这个......查找长度超过 9999 个字符的行......
而这正是我真正需要的。CSV 文件中的行数少于 10000 个字符。查找少于 9999 个字符的行