ページのhttps://developer.android.com/studio/index.htmlには、Linux用のAndroid SDKツールへのリンクがあります。これはスクリプトでダウンロードしたいものです。残念ながら、最新のバージョンをダウンロードするための "簡単な"リンクはありませんので、HTMLからリンクを抽出したいと思います。BashのファイルからHTMLアンカーのhrefを抽出するには?
リンクID linux-tools
によって識別され、複数の行に含まれている:
<a onclick="return onDownload(this)" id="linux-tools" data-modal-toggle="studio_tos"
href="https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip">sdk-tools-linux-38593
私はbashスクリプト内の変数にそのhref
を抽出したいです。私が今までに一番近かったのは以下の通りです:
grep -o -z '<a.[^<]*id="linux-tools"[^<]*</a>' index.html
上記の2行を出力します。
一般的に使用可能なシェルコマンドを使用して実際のリンクを取得するにはどうすればよいですか?
sed -n '/id="linux-tools"/,+1 p' index.html
あなたid="linux-tools"
プラス1行を含む行からアドレスを与える:
XML/HTMLパーサー(xmlstarlet、xmllint ...)を使用することをお勧めします。 – Cyrus
@Cyrusはい、わかっています。私はこれを行うことができるPythonスクリプトを持っていますが、私の現在の環境は、他の言語を組み込み、追加のツールをインストールしないbashスクリプトを使用することに制限されています。 – Roxy