如何在bash中搜索包含特定位置的数字的文件名

时间:2011-10-30 21:22:25

标签: bash find

如何确保find中的文件名后面有一个数字?从概念上讲:

find ./directory -name filename{number}.temp 

如果我输入

find ./directory -name filename'[0-9]'*.temp

它也会给我filename'[0-9]'text.temp格式的文件名。

2 个答案:

答案 0 :(得分:3)

find ./directory -regex '.*/filename[0-9][0-9]*\.temp'

请注意,-regex匹配整个路径,而不仅仅是文件名。

答案 1 :(得分:1)

旧版本的Unix find不执行正则表达式或Kornshell样式的全局。你可以用“?”在你的glob中加上“*”,但就是这样。 Linux和Mac上的find命令确实有-regex表达式。

如果您的find命令不兼容gnu并且没有-regex参数,则需要将输出通过管道传输到grep

find ./directory -name 'filename*.temp' | grep '/filename[0-9].temp$'