Анализ вывода команды df с помощью awk

Анализ вывода команды df с помощью awk

Как сохранить первую строку вывода для печати в качестве заголовка после сопоставления всех строк, начинающихся с /dev/nvme?

Сейчас я делаю вызов dfдважды, но мне бы хотелось сделать это за один проход с помощью awk.

df -h | grep '^Filesystem' && df -h | grep '^/dev/nvme'

Желаемые результаты:

Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  ...
/dev/nvme0n1p1 ...

решение1

Как отметили другие:

df -Ph | awk 'NR == 1 || $0 ~ "^/dev/nvme"'

Кроме того, Linux dfпозволяет указать файл устройства в командной строке:

df -x devtmpfs -Ph /dev/nvme*

Это -x devtmpfsделается для того, чтобы предотвратить /devотображение файловой системы, если соответствующее устройство не смонтировано.

Эта -Pопция гарантирует, что dfстрока не будет разорвана, даже если один из столбцов широкий.

Преимущество второго метода в том, что он dfпозволяет разместить столбцы соответствующим образом для вывода.

Связанный контент