Я хочу получить второй столбец от 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
?
Сначала мы заменяем каждую последовательность повторного использования пробелов tr -s ' '
затем мы захватываем 3th столбец:
ps -e | head -5 | tr -s ' ' | cut -d ' ' -f3
3th столбец, потому что существует пространство в начале каждой строки. Мы можем удалить это также:
ps -e | head -5 | tr -s ' ' | sed 's/ //' | cut -d ' ' -f2