Появилась необходимость сократить большое количество урл-ов. Решил воспользоваться API от http://clck.ru (сокращатель урл-ов от яндкеса).
Чтобы получить короткую ссылку для нашего урл достаточно отправить get-запрос http://clck.ru/--?url=нашурл
Поэтому у меня в файле url.txt:
http://clck.ru/--?url=http://yandex.ru/
http://clck.ru/--?url=http://google.ru/
http://clck.ru/--?url=http://rambler.ru/
...
Можно воспользоваться wget'ом:
cat url.txt | xargs -t -P 5 -n1 wget --quiet -O - > url_short.txtЗдесь:
5 - это количество потоков
--quiet -O - режим при котором не скачиваются файлы (файлы скачивать не надо, надо сразу получать то, что отдается сервером при get-запросе)
В результате чего в файле url_short.txt будет примерно следующее:
Разбить тем же sed'ом на отдельные строки конечно не проблема, но вот мне хотелось бы сохранять через разделитель оригинальный урл, то есть получить что-то вроде такого:
http://yandex.ru/|http://clck.ru/FjYZ
http://google.ru/|http://clck.ru/1HkR
http://rambler.ru/|http://clck.ru/HYqE
То есть как я понимаю мне надо как-то заставить wget не только стягивать по урл-у и записывать ответ, а еще и записывать урл, по которому он тянет.
Но моих знаний не хватает, чтобы передать еще 1 параметр, который бы писался в результующий файл.
Надеюсь это элементарно на самом деле
и кто-то мне подскажет.
