Bash脚本用于查找文件夹中的所有.zip文件,搜索.zip内容并将其移动到另一个文件夹

时间:2014-06-02 13:18:06

标签: bash zip

我需要帮助来编写Linux脚本来查找指定文件夹中的所有*.zip文件。然后,搜索" _xx.xml" zip文件中的文件。最后移动包含" *_xx.xml"的这些zip文件。到另一个目录。

2 个答案:

答案 0 :(得分:4)

试试这个:

FOLDER='/path/to/somewhere'
ANOTHER='/path/to/another'
find "$FOLDER" -type f -iname '*.zip' | while read FILE; do
    unzip -lqq "$FILE" '*_xx.xml' >/dev/null && echo mv -v "$FILE" "$ANOTHER"/
done

当您找到它时,请删除echo

答案 1 :(得分:0)

查找并迭代文件夹中的所有zip文件:

for z in *.zip; do
    # do something
done

显示zip文件的内容而不提取它

unzip -l "$z"

grep zip文件的内容

unzip -l "$z" | grep '_xx\.xml'

如果此条件的计算结果为true,请使用mv

移动文件
mv "$z" new_dir

现在您需要做的就是将这些步骤放在一起;)。