如何列出名称是要忽略的文件子字符串的文件

时间:2015-07-06 18:12:28

标签: bash unix

您好我是bash的新手,我想知道以哪种方式列出可以以一位或两位数结尾的文件。

e.g。

hello1
hello2
hello3
hello11

是我要在目录中列出的文件,但该目录还包含我不想列出的文件,例如:

hello2-super
hello3_nice
hello1-the_best1

1 个答案:

答案 0 :(得分:3)

你可以做到

ls *[0-9]

列出以数字结尾的所有文件,或者如果您将来有不同的匹配项,则将[0-9]替换为其他组。

如果你想获得所有“hello {digits}”类型文件但排除“hello1-the_best1”你可以在bash中使用扩展globs,或者你可以使用grep。扩展的全球:

shopt -s extglob
ls hello[0-9]?([0-9])

将启用扩展的globs,然后匹配hello,后跟1或2位

你可以用grep做

ls | egrep "^hello[0-9]{1,2}$"

将执行相同的操作,但需要子shell和第二个过程