该命令将计算子目录中文件的数量。这可以打印在同一行吗?
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