tar.gzで圧縮したファイルにzipでパスワードをかける

tar.gz で圧縮した大量のファイルに zip でパスワードをかけます。パスワードは同じものを使う前提ですので、コマンドラインで指定します。(history をクリアするなど要注意)

for i in `ls *.tar.gz`; do echo $i ; zip -e -P password ${i%.tar.gz}.zip $i ; done

これでカレントディレクトリにあるすべての *.tar.gz ファイルに同じファイル名で暗号化付きzipファイルを生成します。
内容は以下です。シェル変数の後方マッチ文字列削除をしてzipファイル名を生成しています。

for i in `ls *.tar.gz`
do
  echo $i
  zip -e -P password ${i%.tar.gz}.zip $i
done

似た作業として、すべてのディレクトリをそれぞれディレクトリ名でzip圧縮します。なおスペース(空白文字)が入ってるディレクトリ名があるとうまく行かない気がします。

for i in `ls -d *` ; do echo $i ; zip -r ${i}.zip $i ; done

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)