команда cut або awk для друку першого поля першого рядка


78

Я намагаюся надрукувати перше поле першого рядка виводу. Ось справа. Мені просто потрібно друкувати лише SUSEз цього виводу.

# cat /etc/*release

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

Пробували, cat /etc/*release | awk {'print $1}'але це друкує перший рядок кожного рядка

SUSE
VERSION
PATCHLEVEL

Відповіді:


192

Вкажіть, NRчи хочете ви захопити вихідні дані з вибраних рядків:

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

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

awk '{print $1; exit}'

Ефективним способом отримання першого рядка з конкретного рядка, скажімо, рядка 42, у висновку буде:

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

@jaypal Я також думав додати, tac file | awk 'END{print $1}'але потім зрозумів, що це може бути занадто багато.
devnull

Хоча , що б зробити свій потворний вигляд рішення дивно красивіше проти запропонованого огидного рішення!
jaypal singh

3
Це не так ugly. Це навіть краще, оскільки на великому файлі це заощадить багато часу, вийшовши на знайдений і припиняючи обробку.
Jotne

@Jotne Я назвав це потворним просто тому, що це NR==1було неявно . Додав у відповідь ще один приклад, який, мабуть, трохи більше роз’яснює.
devnull

@devnull Я знаю, але вимога до ОП зрозуміла, print the first string of the first row of an outputтому тут це exitбуло б чудово.
Jotne





1

Спробуйте

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

де NUM - номер рядка

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

Буде надруковано весь 1-й рядок, а не 1-е поле, як зазначено в OP.
jaypal singh

Відповісти saras che pan thodu laambu che. Халі sedТхі панорамування карі sakiye -sed -r '1s/([^ ]+) .*/\1/;q' /etc/*release :)
jaypal Singh


0

Ви можете вбити процес, який запускає контейнер.

За допомогою цієї команди ви можете перерахувати процеси, пов'язані з контейнером докера:

ps -aux | grep $(docker ps -a | grep container-name | awk '{print $1}')

Тепер у вас є ідентифікатори процесу, щоб вбити за допомогою kill або kill -9 .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.