我试图只打印文件中包含至少 35 个字符的行。
我怎样才能做到这一点?
grep
不是这项工作的最佳工具。
你可以写:
grep ................................... filename
或使用其他答案中提到的更复杂的正则表达式功能之一(如果您grep
支持它们)。但是awk
:
awk 'length >= 35' filename
或perl
:
perl -e 'print if length >= 35' filename
会更合适。
grep 与-P
(Perl 正则表达式)或-E
(扩展正则表达式)开关 ORegrep
应该工作:
grep -E '.{35,}' file
或者
grep -P '.{35,}' file
或使用 egrep:
egrep '.{35,}' file
试试:$ grep -E '^.{35,}$'
扩展版grep
您需要使用正则表达式:
grep -E ".{35,}" file
或者
cat file | grep -E ".{35,}"
点表示字符(字母、数字),{35,} 表示至少 35 个字符或更多。
如果您想了解更多信息,请使用man grep