Команда для массового поиска IP-адресов с помощью командной строки Unix работает в оболочке unix, но не в оболочке linux

Archive::Tar или аналогичное программное обеспечение было бы одним из методов.

% touch foo  
% tar cvf x foo
foo
% tar tvf x          
-rw-rw-r--  1 jdoe12   jdoe12           0 May  6 20:36 foo
% perl -MArchive::Tar -e '$t=Archive::Tar->new;$t->read("x");$t->chown("foo","root");$t->write("y")'
% tar tvf y
-rw-rw-r--  1 root     jdoe12           0 May  6 20:36 foo
% 

-1
20.04.2017, 21:55
2 ответа

Это будет работать в Linux, если вы установите curl. Или попробуйте

xargs -I% wget -q -O - http://ipinfo.io/%/geo <ips.txt >temp.txt
2
29.04.2021, 00:02

Для более быстрой обработки рассмотрите возможность использования GNU Parallel:

cat ips.txt | parallel -j 100 curl -s http://ipinfo.io/{}/geo > temp.txt

Это также гарантирует, что вывод из разных заданий не смешивается, поэтому, если вы используете вывод, вы гарантированно не получите половину строки из двух разных рабочие места.

GNU Parallel — это универсальный распараллеливатель, который позволяет легко выполнять задания параллельно на одной машине или на нескольких машинах, к которым у вас есть доступ по ssh.

Если у вас есть 32 разных задания, которые вы хотите запустить на 4 процессорах, прямой путь к распараллеливанию — запуск 8 заданий на каждом процессоре:

Simple scheduling

GNU Parallel вместо этого порождает новый процесс после завершения одного — сохраняя активность процессоров. и, таким образом, сэкономить время:

GNU Parallel scheduling

Установка

Из соображений безопасности вам следует установить GNU Parallel с помощью вашего менеджера пакетов, но если GNU Parallel не упакован для вашего дистрибутива, вы можете выполнить персональную установку, которая не требует root-доступа. Это можно сделать за 10 секунд, выполнив следующие действия:

(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash

Другие варианты установки см. http://git.savannah.gnu.org/cgit/parallel.git/tree/README

Подробнее

] См. другие примеры: http://www.gnu.org/software/parallel/man.html

Посмотрите вступительные видеоролики: https://www.youtube.com/playlist?list= PL284C9FF2488BC6D1

Ознакомьтесь с руководством: http://www.gnu.org/software/parallel/parallel_tutorial.html

Подпишитесь на список адресов электронной почты для получения поддержки: https://lists .gnu.org/mailman/listinfo/parallel

0
29.04.2021, 00:02

Теги

Похожие вопросы