查找其中所有以 letter 开头的/etc
文件到以 letter 开头的文件,即/etc.config 中从 a 到 的所有文件。.config
a
k
k
答案1
这些文件名将与文件名通配模式匹配(“以 到 的[a-k]*.config
任何字母开头,以文件名后缀结尾”)。a
k
.config
如果您只对位于 中的文件感兴趣/etc
,则以下命令将列出这些文件:
printf '%s\n' /etc/[a-k]*.config
该命令还将列出与模式匹配的目录和符号链接(等)。将列表限制为仅常规的文件(以及常规文件的符号链接),然后使用循环:
for pathname in /etc/[a-k]*.config; do
[ ! -f "$pathname" ] && continue
printf '%s\n' "$pathname"
done
如果您有兴趣查看子目录/etc
并将搜索限制为仅包含常规文件,请使用find
:
find /etc -type f -name '[a-k]*.config'
这将在其中和下面查找文件名与给定模式匹配的/etc
常规文件 ( )。-type f
上述命令的结果将是一个以换行符分隔的文件路径名列表。如果您计划对文件进行进一步处理,则此列表可能不应该用作路径名的中间列表。相反,使用上面的循环来单独处理文件,或者使用find
其-exec
选项来处理它们。这是因为输出中使用的分隔符换行符也是 Unix 文件名中的有效字符(当然,您很少看到它被使用,但仍然如此)。