正規表現ベースのwget出力

正規表現ベースのwget出力

次の形式の長いファイルのリストがあります。

https://server.com/Nonsense%20text%20Actual%20Filename01.ext<br>
https://server.com/Non%20essential%20text%20Actual%20Filename02.ext<br>
https://server.com/Not%20required%20text%20Actual%20Filename03.ext<br>

問題は、右側のパターンまたは右側の特定の文字数だけ出力ファイルを生成するようにwget -Oに正規表現を適用する方法です。

wget https://server.com/Non%20essential%20text%20Actual%20Filename02.ext -O Actual Filename02.ext

答え1

次の機能が欲しいと思います。

function dl() {
  URL="$1"
  NAME=$(egrep -io 'filename[0-9]{1,2}\.ext' <<< "$URL")
  echo wget -O "$NAME" "$URL"
}

これで機能が利用可能になりますdl

$ for url in $(cat url_list.txt); do dl $url; done
wget -O Filename01.ext https://server.com/Nonsense%20text%20Actual%20Filename01.ext<br>
wget -O Filename02.ext https://server.com/Non%20essential%20text%20Actual%20Filename02.ext<br>
wget -O Filename03.ext https://server.com/Not%20required%20text%20Actual%20Filename03.ext<br>

関連情報