次の形式の長いファイルのリストがあります。
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>