Bash脚本从短URL文件中检索完整URL的列表

时间:2016-09-29 04:41:13

标签: bash shell curl

我的文件包含每行的短链接,如下所示:“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脚本的工作方式。

1 个答案:

答案 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