該命令將計算子目錄中文件的數量。這可以打印在同一行嗎?
find . -maxdepth 1 -type d |while read dir;do echo "$dir";find "$dir" -type f|wc -l;done
它看起來像
./lib64
327
./bin
118
是否可以把它看起來像
327 ./lib64
118 ./bin
呢?
該命令將計算子目錄中文件的數量。這可以打印在同一行嗎?
find . -maxdepth 1 -type d |while read dir;do echo "$dir";find "$dir" -type f|wc -l;done
它看起來像
./lib64
327
./bin
118
是否可以把它看起來像
327 ./lib64
118 ./bin
呢?
有許多方法可以做到這一點.. 。這是一些不會改變你的代碼的東西。 (我把它放在多行以提高可讀性。)
find . -maxdepth 1 -type d | while read dir; do
echo `find "$dir" -type f | wc -l` "$dir"
done
pipe into tr
刪除或替換換行符。我希望你想換行到變成一個製表符,就像這樣:
find . -maxdepth 1 -type d |while read dir;do
find "$dir" -type f|wc -l | tr '\n' '\t';
echo "$dir";
done
(編輯:我周圍的錯誤的方式)
do echo -n "$dir "
的-n
防止echo
從後結束行。
這將是我的答案@本,但問題是微妙的不同。目標是在一行上打印數字,然後打印目錄名稱。想想看,我剛剛在我的答案中發現了另一個錯誤! – 2011-05-16 01:08:31