ターミナルでは、次のコマンド(@Theophrastusの答えで見つかりました)を使用してペアのファイルの名前を維持しながら、同じ名前のすべての* .htmlファイルと* .jsファイルを圧縮しました。
for Q in *;do H=${Q%%.*};zip "${H}.zip" "$Q";done
また、zipファイルに画像というフォルダを含めたいのですが、上記のコマンドの機能を理解していません。
構造は
zipping
|- images
bitmap1.jpg
bitmap2.png
file1.html
file1.js
file2.html
file2.js
file3.html
file3.js
file4.html
file4.js
file5.html
file5.js
完了したら、zipファイルの名前は開始と同じでなければなりません。これはhtmlファイルとjsファイルで共有する名前です。
答え1
zip
シェルはワイルドカード文字を複数のファイル名に置き換えるため、コマンドのzipファイル引数にワイルドカード文字を指定することはできません。代わりに、ループを使用して複数のzipファイルを一度に1つずつ処理できます。
for file in *.zip
do
zip -ur "$file" images
done
または一行で
for file in *.zip ; do zip -ur "$file" images ; done