Bash ls(全局样式)

use*_*376 5 unix linux bash ls

我有一个练习,其中我必须打印当前文件夹中包含的所有文件名,其中包含字母[a-k][m-p]之一[1-9](每个)至少 1 次。我可能必须使用ls (glob-style)

Chr*_*our 3

如果顺序很重要,那么您可以使用 globbing:

$ ls *[a-k]*[m-p]*[1-9]*
ajunk404  am1  cn5
Run Code Online (Sandbox Code Playgroud)

否则仅grep针对每个组:

ls | grep "[a-k]" | grep "[m-p]" | grep "[1-9]"
1ma
ajunk404
am1
cn5
m1a
Run Code Online (Sandbox Code Playgroud)

注意:ls如果您确实只想在其中使用文件,则会显示目录find

find . -maxdepth 1 -type f | grep "[a-k]" | grep "[m-p]" | grep "[1-9]"
Run Code Online (Sandbox Code Playgroud)