从bash关联数组键解压缩文件列表

问题描述 投票:0回答:1

我的bash脚本创建了一个以文件为键的关联数组(简化的代码,实际上,该数组仅包含修改了md5的文件)。

declare -A fileInFolder
for f in "${zipFolder}/"*".zip"; do
    read -ra entry <<< $(md5sum "$f")
    fileInFolder[$f]="${entry[0]}"
done

然后我尝试将解压缩的文件通过管道传输到一些awk脚本

unzip -qqc "${!fileInFolder[@]}" | awk -f script.awk

然后将列表中的所有文件解压缩给我caution: filename not matched:(都正确)。

在第二行中用"*"替换"\*"给出了一个包含关联数组键中所有文件的字符串,并中断了与md5sum有关的代码的一部分。

我尝试使用7z,但没有找到提供多个zip文件作为输入的方法。

bash associative-array unzip
1个回答
0
投票

您没有得到all文件的错误;相反,您从从第二个开始

只需尝试以下操作

unzip -qqc file1.zip file2.zip

您会得到错误

caution: filename not matched:  file2.zip

这只是您得到的。

我敢打赌unzipman页面解释原因。

© www.soinside.com 2019 - 2024. All rights reserved.