您好我是bash的新手,我想知道以哪种方式列出可以以一位或两位数结尾的文件。
e.g。
hello1
hello2
hello3
hello11
是我要在目录中列出的文件,但该目录还包含我不想列出的文件,例如:
hello2-super
hello3_nice
hello1-the_best1
答案 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和第二个过程