我试过了,ls /etc/[ac]*但它显示了以a或c开头的目录及其全部内容,而不是以“ a ”或“ c ”开头的文件。
Gre*_*ill 26
为避免列出目录的内容,您可以:
ls -d /etc/[ac]*
Run Code Online (Sandbox Code Playgroud)
这将列出目录名称以及以a或开头的普通文件名c。
为了完整性,不涉及的解决方案find可能是:
ls -ld /etc/[ac]* | grep ^- | tr -s ' ' | cut -d' ' -f9
Run Code Online (Sandbox Code Playgroud)
递归地:
find /etc -type f -name '[ac]*'
Run Code Online (Sandbox Code Playgroud)
如果您需要非递归,则可以移植地执行此操作:
find /etc/. ! -name . -prune -type f -name '[ac]*'
Run Code Online (Sandbox Code Playgroud)
或者这个,不可移植的(GNU 或最近的 BSD 发现):
find /etc -type f -maxdepth 1 -name '[ac]*'
Run Code Online (Sandbox Code Playgroud)
如果您想不区分大小写,请使用-iname代替-name。