Подтвердить что ты не робот

Cut или awk для печати первого поля первой строки

Я пытаюсь напечатать первое поле первой строки вывода. Вот так. Мне просто нужно распечатать только SUSE из этого вывода.

# cat /etc/*release

SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2

Пробовал cat /etc/*release | awk {'print $1}', но напечатал первую строку каждой строки

SUSE
VERSION
PATCHLEVEL
4b9b3361

Ответ 1

Укажите NR если вы хотите захватить выходные данные из выбранных строк:

awk 'NR==1{print $1}' /etc/*release

Альтернативный (безобразный) способ достижения того же самого будет:

awk '{print $1; exit}'

Эффективный способ получения первой строки из конкретной строки, скажем, строки 42, в выходных данных будет:

awk 'NR==42{print $1; exit}'

Ответ 2

Укажите Номер строки с помощью встроенной переменной NR.

awk 'NR==1{print $1}' /etc/*release

Ответ 3

попробуйте следующее:

head -1 /etc/*release | awk '{print $1}'

Ответ 4

sed -n 1p /etc/*release |cut -d " " -f1

если табуляция ограничена:

sed -n 1p /etc/*release |cut -f1

Ответ 5

awk, sed, pipe, этот тяжелый

set `cat /etc/*release`; echo $1

Ответ 6

Вы можете использовать head вместо cat:

head -n1 /etc/*release | awk '{print $1}'

Ответ 7

Try

sed 'NUMq;d'  /etc/*release | awk {'print $1}'

где NUM - номер строки

ex. sed '1q;d'  /etc/*release | awk {'print $1}'