Как получить доступное пространство детерминированным?
Когда я использую команду вырезать, каждый раз я получаю другой результат, который имеет смысл. Поэтому мне интересно, как получить ответ, похожий на этот, но согласованный для разных узлов Ubuntu?
ubuntu@ip:~/aws_script$ df -h / | grep '/dev'
/dev/xvda1 32G 21G 9.8G 68% /
ubuntu@ip:~/aws_script$ df -h / | grep '/dev' | cut -d' ' -f13
9.8G
Мне действительно все равно, какую команду вы бы использовали, если бы не cut
до тех пор, пока он выполняет свою работу детерминистически.
3 ответа
Решение
Вы хотите вторую строку, четвертый столбец. Так что используйте awk для этого:
$ df -h / | awk 'NR==2{print $4}'
41G
Чтобы получить доступное место на /
с df
, используйте:
df --output=avail -h / | grep -v ^Avail
Как это устроено
--output=avail
говорит df
чтобы показать только доступное пространство.
grep -v ^Avail
удаляет строку заголовка
awk
более мощный, чем cut
df -h / |awk '/dev/{print $4}'
Изменено в соответствии с просьбой Serg