ファイルと同じ名前のフォルダに展開します(拡張子.zipを除く)。

ファイルと同じ名前のフォルダに展開します(拡張子.zipを除く)。

ファイル(たとえばfoo.zip)を同じ名前()のフォルダに解凍するにはfoo/

デフォルトでは、(現在のフォルダの代わりに)同じ名前のフォルダにファイルを解凍するunzipエイリアスを作成したいと思います。これはMacのunzipユーティリティが動作する方法であり、CLIでも同じことをしたいと思います。

ベストアンサー1

私は使うunarこれを行うには、デフォルトでアーカイブに複数のトップレベルファイルまたはディレクトリが含まれている場合は、抽出したコンテンツを保存するディレクトリを作成し、説明に従ってアーカイブにちなんで名前を付けます。

unar foo.zip

次のオプションを使用すると、すべての場合にディレクトリの作成を強制できます-d

unar -d foo.zip

または、関数内で次のことを行うことができますunzip

unzd() {
    if [[ $# != 1 ]]; then echo I need a single argument, the name of the archive to extract; return 1; fi
    target="${1%.zip}"
    unzip "$1" -d "${target##*/}"
}

これ

target=${1%.zip}

行は.zip他に関係なく拡張子を削除します(したがって、はなりますfoo.zip)。これfoo~/foo.zip~/foo

${target##*/}

パラメータ拡張最後にすべて削除/して~/fooくださいfoo。これは、関数が.zip現在のディレクトリからそのファイルの名前を付けたディレクトリにすべてのファイルを抽出することを意味します。unzip $1 -d "${target}"アーカイブを隣のディレクトリに抽出するには、このオプションを使用します。

unarmacOS(および対応するGUIアプリケーション、アーカイブ解除)、Windows、Linuxはさまざまなディストリビューションでパッケージ化されています。例えば unarDebianとその派生物、Fedoraとその派生物、community/unarchiverArch Linux。

おすすめ記事