выбрав только необходимые строки в командной строке unix - PullRequest
0 голосов
/ 15 февраля 2011

Допустим, я бегу
$: ps au
в приглашении оболочки и хотите выбрать 2-е поле 5-й записи, независимо от того, какой это процесс. Как мне это сделать?

Ответы [ 3 ]

6 голосов
/ 15 февраля 2011

с awk.

awk 'NR==6 { print $2 }'

6-я запись, потому что вам нужно пропустить заголовок.

5 голосов
/ 15 февраля 2011

Если вы не хотите использовать awk или эквивалентные команды perl или ruby, вы также можете использовать более низкоуровневые инструменты:

ps au | head -6 | tail -1 | cut -d ' ' -f 2
0 голосов
/ 15 февраля 2011

В выводе "ps au" второе поле - идентификатор процесса;Вы можете извлечь его напрямую, сказав ps, что вам нужно:

ps a -o pid=

Затем вам нужно вывести пятую строку:

ps a -o pid= | sed '5!d'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...