EDIT По ссылке, которую я использовал в качестве ссылки, можно найти дополнительные опции. Если установлен [1186549]sshpass[1186550], можно автоматизировать ssh-соединение, чтобы не вводить пароль для каждой машины:
sshpass
Это замечательная маленькая программа, позволяющая передавать пароль [1186553]ssh[1186554] в качестве параметра командной строки. Очевидно, что это не очень безопасное решение, и я настоятельно рекомендую вам прочитать раздел "Вопросы безопасности" в [1186555]man sshpass[1186556]. В любом случае, вероятно, оно доступно в репозиториях вашего дистрибутива, на системах, основанных на Debian, его можно установить с помощью
=IF(I1=1,(IF(A2=A1,1,0)),(IF(A2=A1,0,1)))
. Я не могу проверить, так как у меня нет машины, основанной на RedHat, но, насколько я могу судить по поиску [1186557] здесь [1186558], он должен быть установлен на Fedora с помощью
После его установки можно просто запустить
References
scp для автоматизации scp в сети
awk -v RS="[, ]" '/free/{print a}{a=$0}'
Объяснение
,
, а и пространство
, поэтому число, предшествующее каждую строку, является записью сама по себе, и так и строка. бесплатно
, он будет игнорировать {print a}
, потому что условие Не совпадает, и он будет пропущен к {a = $ 0}
, который будет хранить в настоящее время обработанную запись в переменной A
/ Free /
awk будет просто {print}
, где A
содержит запись прямо перед матчем с использованием GNU SED
(Только Linux):
top -bn1 | sed -rn '/Mem/{s/.* ([^ ]*) free.*/\1/p;}'
Использование любого SED
:
top -bn1 | sed -n '/Mem/{s/.* \([^ ]*\) free.*/\1/p;}'
Использование Perl
:
top -bn1 | perl -lne '/Mem.* ([\d]+)\s*free/ && print $1'
Использование инструмента, предназначенного для задания (проверено на Linux, не уверена, если Free
доступен на Solaris):
free | awk '/Mem/{print $4}'
Другой инструмент, предназначенный для задания (должен работать как на Linux, так и Solaris):
vmstat 2 2 | tail -n 1 | awk '{print $4}'
Перейти к источнику (это работает на Linux, не уверены в Solaris):
awk '/MemFree/{print $2}' /proc/meminfo
$ top -bn1 | grep free
KiB Mem: 8117084 total, 6578888 used, 1538196 free, 302216 buffers
KiB Swap: 8060924 total, 26004 used, 8034920 free, 1564856 cached
$ top -bn1 | grep -oP '\S+(?=\s+free)'
1544132
8034920
требует GNU GreeP, но вы пометили «Linux», так что вы в порядке
для просто «MEM»:
top -bn1 | grep -oP 'Mem.*\s\K\S+(?=\s+free)'