Как я отображаю заголовки всех команд?

Я сделал немного поисков Google, но ни один из них не ответил на мой вопрос.

У нас есть какой-либо универсальный способ отобразить заголовки всех команд в Ubuntu с установкой дополнительных пакетов? команды как ps -ef & ls, du.

Пример

ps -ef | egrep "PID"
UID        PID  PPID  C STIME TTY          TIME CMD
root     18208 21629  0 02:49 pts/0    00:00:00 egrep --color=auto PID

в вышеупомянутом примере я использовал egrep для получения заголовка, вышеупомянутая команда не печатает заголовка когда другой grep слова используются

Пример ниже

ps -ef | egrep "nrpe"
nobody    8262     1  0 01:49 ?        00:00:00 /usr/bin/nrpe -c /etc/nrpe.cfg -d
root     18225 21629  0 02:49 pts/0    00:00:00 egrep --color=auto nrpe

P.S.: Я знаю функции egrep но это не работает везде для получения заголовков.

TIA

0
задан 23 November 2019 в 20:15

1 ответ

Используйте двойную команду канала, с head

ps -el | head -1 && ps -el | grep bash
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1001  2680  2671  0  80   0 -  7532 wait   pts/0    00:00:00 bash
0 S  1001  3673  2671  0  80   0 -  7499 wait   pts/1    00:00:00 bash
4 S  1000  3694  3681  0  80   0 -  7469 -      pts/1    00:00:00 bash
0 S  1001  6825  2671  0  80   0 -  7499 wait   pts/2    00:00:00 bash

Объяснение:

  • ps -el команда, что Вы получили бы результат
  • head -1 распечатает 1rst строка, отображенная Вашей командой (здесь, ps -el), таким образом, это была бы строка заголовка; количество опции -1 просто скажите, сколько строк должно быть отображено, поэтому если Ваш заголовок является 2 строками, использовать -2 вместо этого
  • существует grep из Вашей команды
  • && помогите Вам выполнить 2 команды в 1 строке:
    1. это показывает строку заголовка благодаря head -1
    2. это отображается ps результат, фильтрованный grep команда

Кроме того, существует сокращенная форма (который эквивалентен):

ps -el | ( head -1 && grep bash )

NB: если Вы также хотите иметь строку заголовка в конце (из-за некоторого результата), просто добавляет другого && оператор, чтобы сделать 3 команды в 1 строке, как этот:

ps -el | head -1 && ps -el | grep bash && ps -el | head -1

Результат:

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1001  2680  2671  0  80   0 -  7532 wait   pts/0    00:00:00 bash
0 S  1001  3673  2671  0  80   0 -  7499 wait   pts/1    00:00:00 bash
4 S  1000  3694  3681  0  80   0 -  7469 -      pts/1    00:00:00 bash
0 S  1001  6825  2671  0  80   0 -  7499 wait   pts/2    00:00:00 bash
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
2
ответ дан 21 December 2019 в 23:52

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

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