私はその中に何十ものディレクトリを含む単一のディレクトリを持っています。
私はコマンドラインに慣れていないので、各サブディレクトリを一意のsub-directory.Zipファイルに圧縮するコマンドを考え出すのに苦労しています。
つまり、最終的に、私のプライマリディレクトリには、元のすべてのサブディレクトリと、対応する.Zip
各サブディレクトリの圧縮されたコンテンツを含むファイル。
このようなことは可能ですか?もしそうなら、それがどのように行われるか私に見せてください。
このループはbash
で使用できます。
for i in */; do Zip -r "${i%/}.Zip" "$i"; done
i
はループ変数の名前です。 */
は、現在のディレクトリのすべてのサブディレクトリを意味し、それらの名前の末尾にスラッシュが含まれます。これを実行する前に、正しい場所にcd
を確認してください。 "$i"
は、末尾のスラッシュを含め、単にそのディレクトリに名前を付けます。引用符は、ディレクトリ名の空白が問題を引き起こさないことを保証します。 ${i%/}
のようなものです $i
ですが、末尾のスラッシュが削除されているため、それを使用してZipファイルの名前を作成できます。
これがどのように機能するかを確認したい場合は、echo
の前にZip
を含めると、コマンドが実行されずに出力されます。