更新 linux / bash 中 zip 子文件夹中的文件
Update file in subfolder of zip in linux / bash
我正在尝试更新我的 zip,但一直存在 zip error: Nothing to do!
或子文件夹路径错误等问题。
输入:
要更新的文件 /main/zip/folder_1/file1.xml
zip 目标:/main/zip_file1.zip -> 但此 zip 包括子文件夹,如 ../sub1/file1.xml 等
预期结果:在 zip_file1.zip 中更新 file1.xml,但路径正确,例如 zip_file1.zip/sub1/file1.xml
我该怎么做?
我正在尝试这个:
zip -ur zip_file1.zip ./main/zip/folder_1/file1.xml
zip -ur zip_file1.zip '*/file1.xml' ./main/zip/folder_1/file1.xml
zip -ur zip_file1.zip '/sub1/file1.xml'./main/zip/folder_1/file1.xml
不可能使 main/zip/folder_1/file1.xml
成为 zip 存档中的 sub1/file1.xml
,路径必须 相同。
一个work-around是重新创建你想更新的树和文件:
mkdir sub1
ln main/zip/folder_1/file1.xml sub1/
zip -rum zip_file1.zip sub1/
或
ln -s main/zip/folder_1/ sub1
zip -ru zip_file1.zip sub1/
rm -f sub1
哪一个最好取决于您的上下文:
使用第一个代码仅更新 main/zip/folder_1/
的少数 select 个文件
使用第二个代码更新main/zip/folder_1/
中的所有文件和目录
我正在尝试更新我的 zip,但一直存在 zip error: Nothing to do!
或子文件夹路径错误等问题。
输入: 要更新的文件 /main/zip/folder_1/file1.xml
zip 目标:/main/zip_file1.zip -> 但此 zip 包括子文件夹,如 ../sub1/file1.xml 等
预期结果:在 zip_file1.zip 中更新 file1.xml,但路径正确,例如 zip_file1.zip/sub1/file1.xml
我该怎么做?
我正在尝试这个:
zip -ur zip_file1.zip ./main/zip/folder_1/file1.xml
zip -ur zip_file1.zip '*/file1.xml' ./main/zip/folder_1/file1.xml
zip -ur zip_file1.zip '/sub1/file1.xml'./main/zip/folder_1/file1.xml
不可能使 main/zip/folder_1/file1.xml
成为 zip 存档中的 sub1/file1.xml
,路径必须 相同。
一个work-around是重新创建你想更新的树和文件:
mkdir sub1
ln main/zip/folder_1/file1.xml sub1/
zip -rum zip_file1.zip sub1/
或
ln -s main/zip/folder_1/ sub1
zip -ru zip_file1.zip sub1/
rm -f sub1
哪一个最好取决于您的上下文:
使用第一个代码仅更新
的少数 select 个文件main/zip/folder_1/
使用第二个代码更新
中的所有文件和目录main/zip/folder_1/