考虑这样的文件系统:
folderA
- one.png
- two.png
- three.png
folderB
- one.png
- two.png
- three.png
folderC
- one.png
- two.png
- three.png
我想将与one.png
匹配的所有.png文件压缩在一起,合并为名为one.zip
的.zip文件。需要注意的重要一点是,它只应专门搜索文件名,而不能在文件内部查找,因为存在生成这些.png的代码,并且我不希望匹配任何不是实际.png的内容。
我尝试搜索,但是有了我知道要使用的关键字,我在 .zip文件中进行搜索得到了很多结果。
我在OSX Mojave上。不胜感激!
谢谢, 阿迪
答案 0 :(得分:1)
好吧,您可能会发疯,将所有one.png
文件放入one.zip
,将所有two.png
文件放入two.zip
,依此类推:
for file in $( find -name \*.png | sed 's:.*/::' | sort -u ); do
zip $(basename $file .png).zip $( find -name $file )
done
答案 1 :(得分:0)
base='one'
mapfile -t files < <(find . -name "${base}.png")
zip "${base}.zip" "${files[@]}"