我正在尝试将所有HTML文件压缩在指定目录下,忽略文件位置,但我的命令出错,我不知道如何修复。它不会忽略重复的文件名,因为我需要它。
命令:
find /home/ -type f -name "*.html" | zip -j all-html-files -@
错误:
zip error: Invalid command arguments (cannot repeat names in zip file)
该错误的原因(如果这有帮助)
zip warning: first full name: /home/company/press/managed-saas-service.html
zip warning: second full name: /home/company/press/2/managed-saas-service.html
zip warning: name in zip file repeated:managed-saas-service.html
答案 0 :(得分:2)
以下是使用awk
find /home/ -type f -name "*.html" | awk -F/ '{a[$NF]=$0}END{for(i in a)print a[i]}' | zip -j all-html-files -@
如果找到多个具有相同名称的文件,找到的最后一个文件将存储在zip文件中。
答案 1 :(得分:0)
如果-j导致问题,为什么不首先在zip目录中cd,如:
cd / tmp / dir zip -r -9 -v /tmp/bkp.zip。