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