zip 全体をダウンロードせずに、リモートの zip アーカイブから最初のファイル名だけを抽出したいと考えています。特に、dartium のビルド番号 (zip ファイルへのリンク)を取得しようとしています。ファイルがかなり大きいので、全部をダウンロードしたくありません。
全体をダウンロードするunzip -l
と、最初のファイルが次のように報告されます: 0 2013-04-07 12:18 dartium-lucid64-inc-21033.0/
. このファイル名だけを取得して、その21033
部分をビルド番号として解析できるようにします。
私はこれをやっていました(トータルハック):
_url="https://storage.googleapis.com/dartium-archive/continuous/dartium-lucid64.zip"
curl -s $_url | head -c 256 | sed -n "s:.*dartium-lucid64-inc-\([0-9]\+\).*:\1:p"
シェルを ASCII モードで使用していたときは機能していましたが、最近 UTF-8 に切り替えたところ、sed がそれを尊重しているようで、スクリプトが壊れています。
私はそれをハッキングすることを考えました:
export LANG=
curl -s ...
しかし、それはさらに大きなハックのように思えました。
より良い方法はありますか?