我有一个练习,我必须打印当前目录中的所有文件,这些文件以字母[a-z]
开头,或以任意数量的结尾打印:[1/3/5/7/9]
我认为它必须是globstyle ......代码是:
ls a[-z]* || *[13579]
但由于某些原因不起作用。 也许我应该使用扩展正则表达式?
答案 0 :(得分:2)
你的ls命令的参数根本不是正则表达式,而是shell globs。在命令执行之前,shell 会解释shell globs。你可以这样做:
ls [a-z]* *[13579]
请注意,这可能包含重复项(文件a1
将列出两次),因此您可以这样做:
ls [a-z]* *[13579] | sort | uniq
答案 1 :(得分:0)