#bash #curl #xargs
#bash #curl #xargs
Вопрос:
sed -e 's/,$//' -e 'y/,/:/' myips.txt | xargs -P 5 -I XX curl -skd --connect-timeout 10 --max-time 10 http://XX/
myips.txt это будет
127.0.0.1
127.0.0.2
127.0.0.3
Я сохраняю выходные данные в файле, но не могу понять, как отображать IP-адрес в начале каждого вывода
команда будет curl -skd —connect-timeout 10 —max-time 10 http://127.0.0.1 и результат позволяет сказать что-то вроде случайной веб-страницы
учитывая тот факт, что у меня есть более 50 IP-адресов для изучения, я не могу понять, какие IP-адреса выводят
например, вывод будет
`Error 404: Not Found Error 404: Not Found `
и я хочу, чтобы это было
127.0.0.1 Error 404: Not Found 127.0.0.2 Error 404: Not Found
или даже лучше было бы лучше
127.0.0.1 Error 404: Not Found
===================================
127.0.0.2 Error 404: Not Found
Комментарии:
1. Вам повезло, что при более чем 50 IP-адресах для изучения , пяти
curl
параллельных вызовах и записи в стандартный вывод вы никогда не видели, чтобы эти выходные данные смешивались — предположительно, все веб-страницы довольно короткие.
Ответ №1:
sed -e 's/,$//' -e 'y/,/:/' myips.txt
| xargs -P 5 -I XX
sh -c '
printf "%s " XX;
curl -skd --connect-timeout 10 --max-time 10 http://XX/
echo ===================================
'
На самом деле это не связано с curl, вот демонстрация с echo
:
sed -e 's/,$//' -e 'y/,/:/' myips.txt
| xargs -P 5 -I XX
sh -c '
printf "%s " XX;
echo "Error 404: Not Found";
echo ===================================
'
Вывод с помощью вашего myips.txt
:
127.0.0.1 Error 404: Not Found
===================================
127.0.0.2 Error 404: Not Found
===================================
127.0.0.3 Error 404: Not Found
===================================