如果文件名包含整数,则使用grep linux命令

时间:2017-01-11 09:42:02

标签: regex grep

仅打印文件名没有任何整数的文件。

示例:

httpdocs/bak_2016-01-10-embed.php:function displayVideo
httpdocs/bak_EMBED_embed.php:function displayVideo_flv($path,$au

仅显示2个文件。

我正在尝试以下命令,但它无法正常工作。

egrep -r --exclude='[^0-9]+\.*' "n displayVideo"

1 个答案:

答案 0 :(得分:1)

问题是你的排除模式是错误的。

根据手册页,

  

- 排除= GLOB

     

跳过基本名称与GLOB匹配的文件(使用通配符匹配)。文件名glob可以使用*,?和[...]作为通配符,   和\从字面上引用通配符或反斜杠字符。

  • +不是有效的glob字符。
  • 要取消glob中的类,我们使用[!...],其中[^..]是正则表达式语法。

  • More about globbing

<小时/> 相反,你可以写

$ egrep -r --exclude=*[0-9]* "n displayVideo"
  • *[0-9]*此模式匹配其中至少包含1位数的所有文件名。