Linux
搜尋/顯示文件大小
有沒有一種簡單的方法可以查看目錄並說,對於每個以 az 開頭的文件,列印這些文件的總大小?
例如
for i in {97..122}; du (something); done
即輸出>>
a- 123kb
b- 22kb
…
z- 1245kb
這可以通過萬用字元來實現
$ du [a-z]* 456 asdf.png 12 awk.trace 28 blink_image_resources_200_percent.pak 0 Books
請注意,如果由 glob 擴展的項目是目錄,
du
則將遍歷該目錄的內容,因此如果您只關心目錄的總大小而不關心項目的單個列表,您可能想要執行du -s [a-z]*
. 如果您想要人類可讀的後綴,例如k
orM
,請使用-h
選項。當然,shell 喜歡
bash
並ksh
具有更細粒度的模式匹配,bash
具有extglob
shell 選項和globstar
遞歸遍歷以匹配文件名。find
命令也可用於遞歸和細粒度的文件名匹配,甚至排除目錄,如find . -maxdepth 1 -mindepth 1 -type f -exec du -s {} \;
還值得注意的是,大括號擴展如
{0..9}
不執行路徑名擴展,即*
擴展為目錄中已存在的內容,{0..9}
擴展為目前工作目錄中可能存在或不存在的標記列表。