我有一个压缩文件夹列表,其中包含xml文件。 我想编写一个linux shell脚本,它按顺序解压缩文件夹,读取它们并打印文件名,如果它包含特定的字符串说" Apple INC。"
我尝试过以下代码。
for x in *.zip
do unzip $x
if grep -i "Apple INC" $x
then
echo $x
fi
done
任何人都可以帮助我做对吗? 谢谢。
答案 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
您是否注意到代码是如何缩进的?