Если у Вас есть Параллель GNU, http://www.gnu.org/software/parallel/ установил Вас, может сделать это:
seq 5 | parallel -N0 executable.sh parameters_to_executable
Можно установить Параллель GNU просто:
wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem
Посмотрите вводные видео для Параллели GNU для узнавания больше: https://www.youtube.com/playlist? list=PL284C9FF2488BC6D1
Что-то вроде этого сделает:
$ dig +short www.google.com | head -1
74.125.225.113
Но будьте осторожны, потому что большинство серверов, которые имеют несколько IP-адресов, сделает некоторую форму циклического алгоритма на уровне DNS, таким образом, список будет обычно вращаться каждый раз, когда Вы работаете dig
команда:
$ dig +short www.google.com
74.125.225.116
74.125.225.112
74.125.225.113
74.125.225.114
74.125.225.115
$ dig +short www.google.com
74.125.225.115
74.125.225.116
74.125.225.112
74.125.225.113
74.125.225.114
$ dig +short www.google.com
74.125.225.114
74.125.225.115
74.125.225.116
74.125.225.112
74.125.225.113
Заметьте, как дюйм/с перемещается от запроса до запроса? Это сделано для балансировки загрузки через те серверы.
Следующая команда получит вывод IP-адреса и поместит его в переменную оболочки.
$ IP=$(dig +short www.google.com | head -1)
Можно подтвердить это как так:
$ echo $IP
74.125.225.114
Вот
dig +short www.example.com | sed -n '2{p;q}'
-n
препятствует тому, чтобы sed печатал свой вход по умолчанию. 2
причины это для выполнения p;q
на номере строки 2. p
обозначает печать и q
для выхода
echo -e "hi1\nhi2"| sed -n '2{p;q}'
дает мне hi2
.
– slm♦
31.08.2013, 04:06