コマンドを使用してZipを作成する必要があります
Zip /dir/to/file/newZip /data/to/Zip/data.txt
これは機能しますが、作成されたZipファイルは、未加工ファイルのディレクトリを模倣したディレクトリ構造を作成します。必要のない余分なフォルダーがたくさんあります。
マニュアルページやグーグルハントをざっと見ただけで答えが見つかりませんでした。
-j
を使用できます。
-j
--junk-paths
Store just the name of a saved file (junk the path), and do not
store directory names. By default, Zip will store the full path
(relative to the current directory).
-j
オプションを使用します。
-j Store just the name of a saved file (junk the path), and do not
store directory names. By default, Zip will store the full path
(relative to the current path).
-j
の使用は、-r
オプションと一緒には機能しません。
したがって、回避策は次のようになります。
cd path/to/parent/dir/;
Zip -r complete/path/to/name.Zip ./* ;
cd -;
またはインラインバージョン
cd path/to/parent/dir/ && Zip -r complete/path/to/name.Zip ./* && cd -
/dev/null
出力を画面に表示したくない場合は、cd -
に出力を向けることができます
やや関連-私はディレクトリに対して同じことをする解決策を探していました。残念ながら、これに対して-jオプションは機能しません:(
ここでそれを達成する方法に関する良い解決策: https://superuser.com/questions/119649/avoid-unwanted-path-in-Zip-file
または、ファイルへの一時的なシンボリックリンクを作成できます。
ln -s /data/to/Zip/data.txt data.txt
Zip /dir/to/file/newZip !$
rm !$
これはディレクトリに対しても機能します。
-jrmオプションを使用して、ファイルおよびディレクトリ構造を削除するだけです。
Zip -jrm /path/to/file.Zip /path/to/file