Linux
將 find 命令中的選項從一個字母組合到另一個字母
找到所有以 letter 開頭的文件到以 letter 開頭的文件
/etc
,這意味著從 a 到/etc .config 中的所有文件。.config``a``k``k
這些文件名將匹配文件名通配模式
[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 文件名中的有效字元(當然,您很少看到它在使用中,但仍然如此)。