1

我试图只打印文件中包含至少 35 个字符的行。

我怎样才能做到这一点?

4

4 回答 4

4

grep不是这项工作的最佳工具。

你可以写:

grep ................................... filename

或使用其他答案中提到的更复杂的正则表达式功能之一(如果您grep支持它们)。但是awk

awk 'length >= 35' filename

perl

perl -e 'print if length >= 35' filename

会更合适。

于 2013-08-12T18:28:49.320 回答
3

grep 与-P(Perl 正则表达式)或-E(扩展正则表达式)开关 ORegrep应该工作:

grep -E '.{35,}' file

或者

grep -P '.{35,}' file

或使用 egrep:

egrep '.{35,}' file
于 2013-08-12T18:25:53.067 回答
2

试试:$ grep -E '^.{35,}$'扩展版grep

于 2013-08-12T18:26:50.317 回答
2

您需要使用正则表达式:

grep -E ".{35,}" file

或者

cat file | grep -E ".{35,}"

点表示字符(字母、数字),{35,} 表示至少 35 个字符或更多。

如果您想了解更多信息,请使用man grep

于 2013-08-12T18:27:56.893 回答