Допустим, я бегу $: ps au в приглашении оболочки и хотите выбрать 2-е поле 5-й записи, независимо от того, какой это процесс. Как мне это сделать?
$: ps au
с awk.
awk 'NR==6 { print $2 }'
6-я запись, потому что вам нужно пропустить заголовок.
Если вы не хотите использовать awk или эквивалентные команды perl или ruby, вы также можете использовать более низкоуровневые инструменты:
awk
perl
ruby
ps au | head -6 | tail -1 | cut -d ' ' -f 2
В выводе "ps au" второе поле - идентификатор процесса;Вы можете извлечь его напрямую, сказав ps, что вам нужно:
ps a -o pid=
Затем вам нужно вывести пятую строку:
ps a -o pid= | sed '5!d'