我的文件包含每行的短链接,如下所示:“http://short.ly/1Typn4C”
我可以使用此curl命令跟踪所有重定向并将最终的完整URL写入文件:
curl -Ls -o /dev/null -w %{url_effective} http://short.ly/1Typn4C | xargs echo >> ./full_urls.txt
当使用相同的命令循环遍历文件的每一行时,它最终会将原始的短URL写入文件:
while read line
do
finalLink="$(curl -Ls -o /dev/null -w %{url_effective} "$line")"
echo "$finalLink" >> ./full_urls.txt
done < ./short_urls.txt
显然,我误解了shell脚本的工作方式。
答案 0 :(得分:1)
适合我的工作。
$ echo 'https://youtu.be/dQw4w9WgXcQ' >./short_urls.txt
$ while read line
> do
> finalLink="$(curl -Ls -o /dev/null -w %{url_effective} "$line")"
> echo "$finalLink" >> ./full_urls.txt
> done < ./short_urls.txt
$ cat ./full_urls.txt
https://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtu.be