LinuxForum.Fans
Тема

Выбор одного значения из вывода...

Автор: Rizado 5 сообщений 1936 просмотров
19.08.2019 16:48 #432659

Определяем свободное место на диске:
[console]rizado@MARS:~$ df --block-size=1048576 /
S.ficheros bloques de 1M Usados Disponibles Uso% Montado en
/dev/sda2 40190 30738 9026 78% /
rizado@MARS:~$ [/console]
Здесь вопросов нет, всё понятно. А вопрос − как выбрать значение 9026, соответствующее свободному месту, и присвоить это переменной bash? Со скриптом вроде как справляюсь, а вот этот момент неясен.

19.08.2019 16:52 · отредактировано #432660
Rizado написал:
А вопрос − как выбрать значение 9026, соответствующее свободному месту, и присвоить это переменной bash? Со скриптом вроде как справляюсь, а вот этот момент неясен.

Просто так не получится.
Надо перенаправить вывод в файл и парсить весь вывод - посчитать на какой строке и на каком табе выводится нужная инфа.

19.08.2019 17:45 #432665

ValentinK, кто сказал «мяу», в смысле, «не получится»? :)
Сделал так:
[console]df --block-size=1048576 / | awk '{if (NR > 1) {print $4}}'[/console]
Теперь подумаю, как загнать этот вывод в переменную bash и там дальше обрабатывать.

19.08.2019 20:29 #432670

Не оно?
-v var=value — позволяет объявить переменную и задать её значение по умолчанию, которое будет использовать awk.

19.08.2019 21:35 #432674

[console]size=$(...)[/console]

Войдите или зарегистрируйтесь, чтобы ответить.