Files
查找命令:如何忽略路徑名?
我必須在一個目錄和它的子目錄中找到某種類型的文件,我只需要列印出文件名。所以這裡是主要命令:
find -type f -name "*.c"
現在,我如何從每個結果中截斷路徑?(它可能可以用 awk 完成,但我希望有更簡單的方法來做到這一點)。
GNU find 支持
-printf
謂詞,它支持%f
輸出文件名的格式說明符。find -type f -name "*.c" -printf '%f\n'
使用
awk
並不復雜:find . -name '*.c' -type f | awk -F/ '{print $NF}'
或者
sed
:find . -name '*.c' -type f | LC_ALL=C sed 's|.*/||'
(假設文件路徑不包含換行符)並且適用於任何
find
實現。與
zsh
:print -rC1 -- **/*.c(N.:t)