コマンド一発で圧縮ファイルを解凍しながら DL したい
タイトルは少し不正確なのだが、要するに .tgz
などのファイルを「ダウンロード → 解凍 → 圧縮ファイルは削除」と処理するのが手間なので、もっと楽したいのだ。
# tgz ファイルをダウンロードする
$ wget https://example.com/example.tgz
# 解凍する
$ tar xvf example.tgz
# 取り出した example.sh を任意の場所に配置する
$ mv example.sh /PATH/TO/DIRECTORY/
# 圧縮ファイルの方は削除する
$ rm example.tgz
# コレがめんどい!
イイカンジにやる方法がないか調べたところ、curl
した結果を tar
コマンドにパイプで流せば良いことが分かった。
$ curl -sS https://example.com/example.tgz | tar xv -C /PATH/TO/DIRECTORY
tar
の -C
オプションで、解凍したファイルをどこのディレクトリに置くか指定できるので、この1行で /PATH/TO/DIRECTORY/example.sh
と配置される。example.tgz
自体はどこにも残らないので、削除などする必要がない。