使用AWK打印文件夹中每个文件的计数

使用AWK打印文件夹中每个文件的计数,awk,count,Awk,Count,我有一个包含100多个.gz文件的文件夹。我需要得到如下输出: file name : Count 例如: cde.gz:123456 test.gz:456896要计算当前目录中每个文件的行数,可以执行以下操作 wc -l * 以上内容将为存在的任何子目录生成警告。要避免这些警告,可以使用find命令,如: find . -maxdepth 1 -type f -exec wc -l {} + 当然,以上内容将按原样计算文件中的行数。如果文件已压缩,并且需要其包含的未压缩文件的行数,则可

我有一个包含100多个.gz文件的文件夹。我需要得到如下输出:

file name : Count
例如:

cde.gz:123456
test.gz:456896

要计算当前目录中每个文件的行数,可以执行以下操作

wc -l *
以上内容将为存在的任何子目录生成警告。要避免这些警告,可以使用find命令,如:

find . -maxdepth 1 -type f -exec wc -l {} +
当然,以上内容将按原样计算文件中的行数。如果文件已压缩,并且需要其包含的未压缩文件的行数,则可以使用以下脚本:

#!/bin/bash
for i in *.tar.gz
do
  echo "$i: $(zcat -- "$i" | wc -l)"
done

什么数量?你是说大小?相等文件的数量?相同的文件类型?用正确的信息更新你的原始帖子。我有一个包含100多个.gz文件的文件夹。我需要将输出作为:文件名:Count Sample output------abc.gz:123456 cde.gz:123456 fgh.gz:25365 qwe.gz:5623请编辑您的问题,使其包含所需的信息。这听起来像是指行数,或者每个文件中的行数,尽管对于.gz文件来说,这有什么用值得怀疑。请注意,如果是gz文件,您可能需要执行zcat file | wc-l。这是真的。添加了一个可以处理.tar.gz文件的脚本,下面的查询工作得非常好:非常感谢*.tar.gz do echo$i:$zcat-$i | wc-l done中的i
#!/bin/bash
for i in *.tar.gz
do
  echo "$i: $(zcat -- "$i" | wc -l)"
done