попытайтесь работать smartctl -a /dev/hda
(мог быть sda в Вашем случае; cat /proc/partitions
покажет Вам тип устройства для использования),
В Вашем случае это находится позади cciss контроллера, таким образом, опция должна быть -d cciss,0
или подобный.
Это должно добиться цели:
echo -n $IPs | xargs --max-args=1 -I {} --delimiter ' ' --max-procs=0 \
sh -c "wget -q -O- 'http://{}/somepage.html' | egrep --count '^string'" | \
{ NUM=0; while read i; do NUM=$(($NUM + $i)); done; echo $NUM; }
Идея здесь состоит в том, чтобы отметить отдельное количество и суммировать их в конце. Мог бы перестать работать, если отдельные количества являются достаточно большими, чтобы быть смешанными, но это не должно иметь место.
Параллель GNU specifcally разработана для решения этой проблемы:
echo -n $IPs | parallel -d ' ' -j0 wget -q -O- http://{}/somepage.html | egrep --count '^string'
Если Ваш дюйм/с находится в файле, это еще более симпатично:
cat IPs | parallel -j0 wget -q -O- http://{}/somepage.html | egrep --count '^string'
Для узнавания больше смотрят вводное видео: http://www.youtube.com/watch?v=OpaiGYxkSuQ
parallel
команда от moreutils, который достаточен здесь: parallel -j99 -i sh -c 'wget -q -O- http://{}/somepage.html | egrep -c "^string"' -- $IPs
– Gilles 'SO- stop being evil'
01.08.2011, 01:05