Сократите второе поле, разграниченное пробелами

Я хочу получить второй столбец от ps результат:

test@pc:~$ ps -e | head -5 | cut -d '' -f1
  PID TTY          TIME CMD
    1 ?        00:00:03 systemd
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 rcu_gp
    4 ?        00:00:00 rcu_par_gp

Это не работает, я узнал, что это могло быть, решают сложный путь как:

test@pc:~$ ps -e | head -5 | gawk '{print $2}'
TTY
?
?
?
?

Как мог решить проблему с универсальным инструментом cut?

0
задан 18 January 2019 в 03:12

1 ответ

Сначала мы заменяем каждую последовательность повторного использования пробелов tr -s ' ' затем мы захватываем 3th столбец:

ps -e | head -5 | tr -s ' ' | cut -d ' ' -f3

3th столбец, потому что существует пространство в начале каждой строки. Мы можем удалить это также:

ps -e | head -5 | tr -s ' ' | sed 's/ //' | cut -d ' ' -f2
1
ответ дан 26 October 2019 в 12:35

Другие вопросы по тегам:

Похожие вопросы: