我试图只打印文件中包含至少 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