Bash-скриптинг egrep ответ - PullRequest
       7

Bash-скриптинг egrep ответ

0 голосов
/ 22 марта 2019

Я пытаюсь изолировать только третий вариант из запроса для скрипта

size=$(df -h / | egrep -o '[0-9]+(\.[0-9]*)?[A-Za-z]?')

Который возвращает

30G
2.8G
26G
10

Есть ли простой способ выделить 3-й (если не все ответы) в отдельные переменные? Мое следующее отчаяние состоит в том, чтобы передать данные во временный текстовый файл, а затем переместить их в нужную строку

1 Ответ

0 голосов
/ 22 марта 2019

Вы можете использовать --output, чтобы точно контролировать, какие столбцы будут напечатаны.Таким образом, вам не нужно делать никакого дополнительного анализа.Это напечатает только используемый столбец и пропустит строку заголовка:

df --output=used -h / | tail +2

Если вы хотите получить конкретную строку вывода, вы можете использовать sed.Это выведет третью строку вывода (заголовок будет первым):

df --output=used -h / | sed -n '3p'

Однако вместо поиска определенного номера строки было бы разумнее просто попросить df указать состояние разделаВы заботитесь о.Если бы это было /home, например:

df --output=used -h /home
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...