この文字列からバージョン番号を抽出したいと思います。
<a href="/url/version/tree/1.0.1alpha11" class="css-truncate">
" /url/version/tree/
"は変更される可能性があります(例:から)、バージョンも変更される可能性があります(例:/url/version/tree/
から)。/url/version2/tree1/)
1.01alpha11
2.0stable
思考/提案?
答え1
sed
解決策:
サンプルファイルinput.txt
:
<a href="/url/version/tree/1.0.1alpha11" class="css-truncate">
<a href="/url/version2/tree1/1.0.2alpha11" class="css-truncate">
<a href="/url/version/tree/2.0stable" class="css-truncate">
sed -En 's@.*\<href="/[^[:space:]]+/([^/"[:space:]]+).*@\1@p' input.txt
出力:
1.0.1alpha11
1.0.2alpha11
2.0stable
答え2
以下のawkコマンドを使用してバージョンを抽出しました。テスト後はうまくいきます。
Inputfile
<a href="/url/version/tree/1.0.1alpha11" class="css-truncate">
<a href="/url/version2/tree1/1.0.2alpha11" class="css-truncate">
<a href="/url/version/tree/2.0stable" class="css-truncate">
注文する
awk -F '[/]' '{print $NF}' Inputfile| awk -F '"' '{print $1}'
出力
1.0.1alpha11
1.0.2alpha11
2.0stable
答え3
ソースファイル:input.txt:
<a href="/url/version2/tree1/2.0stable" class="css-truncate">
<a href="/url/version/tree/1.0.1alpha11" class="css-truncate">
<a href="/url/version2/tree1/1.0.2alpha11" class="css-truncate">
使用awk
とsed
:
awk 'BEGIN { FS = "/" } { print $5 }' input.txt | sed -E 's/^(.*)"\s.*/\1/'
結果:
2.0stable
1.0.1alpha11
1.0.2alpha11