Shell脚本解压缩文件并按顺序读取它们

时间:2015-09-24 22:46:23

标签: linux shell

我有一个压缩文件夹列表,其中包含xml文件。 我想编写一个linux shell脚本,它按顺序解压缩文件夹,读取它们并打印文件名,如果它包含特定的字符串说" Apple INC。"

我尝试过以下代码。

for x in *.zip
do unzip $x
if grep -i "Apple INC" $x
then
echo $x
fi
done 

任何人都可以帮助我做对吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用unzip -p将文件解压缩到标准输出,并将输出直接传送到grep-q选项会阻止grep输出匹配的行。

for z in *.zip ; do
    if unzip -p "$z" | grep -qi 'apple inc' ; then
        echo "$z"
    fi
done

您是否注意到代码是如何缩进的?