ファイル(たとえば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}"
アーカイブを隣のディレクトリに抽出するには、このオプションを使用します。
unar
macOS(および対応するGUIアプリケーション、アーカイブ解除)、Windows、Linuxはさまざまなディストリビューションでパッケージ化されています。例えば unar
Debianとその派生物、Fedoraとその派生物、community/unarchiver
Arch Linux。