Terrarium

いわゆる掃き溜めの ありふれた有象無象

ファイルに1行ずつ書かれたURLを全てダウンロードしたい

事件は起きた…

http://hogehoge.co.jp/img/hogehoge.png
http://fugafuga.co.jp/img/fugafuga.jpg
...

というファイルを入力にして,全部の画像をダウンロードしたい

TL;DR

普通はこれで動くはず…

cat images.txt | xargs -L1 wget

今回は改行コードが違っていたのでこれで動かした.

cat images.txt | tr `\n\r` `\n` | xargs -L1 wget

改行コードが違っていた…

Pythonまで書くのはめんどいのでShellでやってしまおう.

cat images.txt | xargs -L1 wget

と実行すると…

--2018-01-27 17:09:02--  http://hogehoge.co.jp/img/hogehoge.png%0D
Resolving hogehoge.co.jp... (IPアドレスの羅列)
...

とエラーがでた.

調べると0D0AWindowsの改行コードなのでうまく認識できなかったらしい(確かにWindowsを使っている方からいただいたファイルだった)

これは\n\rを意味するので,Macの改行コードである\nに置換してやれば良さそう.

cat images.txt | tr `\n\r` `\n` | xargs -L1 wget

これで動いた.