我有一个压缩文件夹列表,其中包含 xml 文件。 我想编写一个 Linux shell 脚本,它按顺序解压缩文件夹,读取它们并打印文件名(如果它包含特定字符串“Apple INC.”)
我尝试过以下代码。
for x in *.zip
do unzip $x
if grep -i "Apple INC" $x
then
echo $x
fi
done
谁能帮我做对吗? 谢谢。
最佳答案
您可以使用unzip -p
将文件解压缩到标准输出,并将输出直接通过管道传输到grep
。 -q
选项阻止 grep
输出匹配的行。
for z in *.zip ; do
if unzip -p "$z" | grep -qi 'apple inc' ; then
echo "$z"
fi
done
你注意到代码是如何缩进的吗?
关于linux - 用于解压缩文件并按顺序读取它们的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32772158/