同时获取文件大小和行数

同时获取文件大小和行数

我正在寻找一种方法来列出目录中的所有文件,及其大小和行数。现在我正在用来stat -c \"%s %n\" /directory/*获取文件名和大小,并且我知道我可以用来find /directory/ -type f -exec wc -l {} +获取文件名和行数,但是有什么方法可以同时获取两者吗?

答案1

你快到了。

寻找目录-type f -exec wc -lc {} +

将获取文件名、行数、C字符数

严格来说,-c(aka --bytes) 被记录为计数字节,这可能就是您想要的。还有一个-m(又名--chars)选项用于计算“字符”。从选择的m选项字母,我猜这算多字节字符;例如,Unicode 字符。还有一个-w用于实际计算单词数的选项。

答案2

wc可以提供字节数和行数:

find /directory/ -type f -exec wc -l -c {} +

使用find也比通配符参数 ( stat ... directory/*) 更可取,因为当目录中的文件太多而名称无法容纳在单个命令中时,后者将会失败。

答案3

我们可以简单地在目录中执行以下命令

wc -lc *

答案4

for i in 'find \directory-name\ -type f'
do
echo "Printing line count and size of $i"
cat $i | wc -l
du -sh $i
done

我想这会帮助你得到你想要的。

相关内容