正则表达式 – Grep内部的多个目录和压缩文件

前端之家收集整理的这篇文章主要介绍了正则表达式 – Grep内部的多个目录和压缩文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有很多压缩文件,其中每个文件都包含目录中的json文件和txt文件.
我想找到目录中所有压缩文件中的json文件总数.

为了深入挖掘它,我有很多这样的目录.
如何查找所有目录中所有压缩文件中的json文件总数?

解决方法

通过find命令,您可以轻松遍历每个目录并匹配命名模式,例如* .zip.

当你浏览找到返回的列表(for循环在这里很好)时,你需要列出每个档案中的文件(你不必提取文件,这很好),当你列出时文件你可以做一个简单的grep来找到输出到wc -l的.json模式和管道,它会给你一个“行数” – 在这种情况下它将代表.json文件数量.

在整个迭代过程中,您将获取此计数并将其添加到“总计”计数中,然后您可以稍后输出.

扩展的样本将是:

total=0;
for file in `find . -name '*.zip'`; do
    count=`unzip -l $file | grep '.json' | wc -l`;
    total=`expr $total + $count`;
done;
echo "Total Json Files: $total";

此示例假定您使用zip来存档文件.如果你使用像tar这样的东西,你需要使用它的文件列表参数(tar -t).

猜你在找的正则表达式相关文章