是否可以在 unix 中搜索 zip 文件

Mir*_*age 7 shell find zip search

我有 100 个目录,其中有几个 zip 文件。现在这些 zip 文件中有名为 abc.jpg 的图像。zip 文件可能位于任何文件夹或任何子文件夹中,因此很难将它们全部提取到一个地方。

我只想收集那些图像文件。这可能吗?

Kim*_*Kim 6

我曾经需要类似的东西来在一堆 zip 文件中查找类文件。这里是:

#!/bin/bash

function process() {
while read line; do
    if [[ "$line" =~ ^Archive:\s*(.*) ]] ; then
        ar="${BASH_REMATCH[1]}"
        #echo "$ar"
    else
        if [[ "$line" =~ \s*([^ ]*abc\.jpg)$ ]] ; then
            echo "${ar}: ${BASH_REMATCH[1]}"
        fi
    fi
done
}


find . -iname '*.zip' -exec unzip -l '{}' \; | process
Run Code Online (Sandbox Code Playgroud)

现在您只需要添加一行来提取文件并移动它们。我不确定你到底想做什么,所以我会把它留给你。