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

Linux 解压文件并按顺序读取它们的Shell脚本,linux,shell,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 谁能帮我把它弄对吗? 谢谢。您可以使用解压-p将文件解压到标准输出,并将输出直接传输到grep。-q选项可防止grep输出匹配行 for z in *.

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

我尝试了以下代码

for x in *.zip
do unzip $x
if grep -i "Apple INC" $x
then
echo $x
fi
done 
谁能帮我把它弄对吗?
谢谢。

您可以使用
解压-p
将文件解压到标准输出,并将输出直接传输到
grep
-q
选项可防止
grep
输出匹配行

for z in *.zip ; do
    if unzip -p "$z" | grep -qi 'apple inc' ; then
        echo "$z"
    fi
done
你注意到代码是如何缩进的吗