Solaris 9 - команда Word Count (wc) выдает неверный вывод

316
Jass

Когда я использую команды «ps», «egrep» и «wc» для подсчета количества процессов, это дает мне неправильное значение. Я запускаю команду на машине 'Solaris 9' . Пожалуйста, помогите в понимании проблемы.

MyServer $ ps -fu root | egrep -v 'bash|ksh|ssh|ef|mailx|nohup|defunct|ps|sh|FND' UID PID PPID C STIME TTY TIME CMD root 16267 16171 0 Jan 28 ? 0:18 xyz root 16269 16171 0 Jan 28 ? 0:07 abc root 16268 16171 0 Jan 28 ? 0:07 ghi MyServer $ 

Только 4 (3 процесса + заголовок) строки показаны в выводе. Но когда я использую приведенную ниже команду, она возвращает вывод как 5

MyServer $ ps -fu root | egrep -v 'bash|ksh|ssh|ef|mailx|nohup|defunct|ps|sh|FND' | wc -l 5 

С другой стороны, когда я отображаю вывод в файл и подсчитываю количество строк, он работает совершенно нормально.

MyServer $ ps -fu root | egrep -v 'bash|ksh|ssh|ef|mailx|nohup|defunct|ps|sh|FND' >temp && cat temp | wc -l 4 
1
Can you pipe the first example to `hexdump -Cv` and give the results? iBug 7 лет назад 1
Что выводит alias egrep? janos 7 лет назад 0
@iBug Unfortunately _**hexdump**_ is not availble in my server. `bash: hexdump: command not found` Jass 7 лет назад 0
@janos `MyServer $ alias egrep bash: alias: `egrep' not found` Jass 7 лет назад 0
Если доступно, установите пакет `bsdmainutils` от вашего поставщика пакетов. 'Hexdump` должен быть доступен. Или вы можете использовать `busybox` вместо этого. iBug 7 лет назад 1
Команда 'wc' обнаруживалась в другой строке вывода, которая не отображалась в перенаправлении. Nevin Williams 7 лет назад 0

1 ответ на вопрос

0
Nevin Williams

Я думаю, что это подсчет wcпроцесса, который не будет отображаться, когда вывод для psпередается в файл.

Попробуй это:

ps -fu root | egrep -v 'wc|bash|ksh|ssh|ef|mailx|nohup|defunct|ps|sh|FND' | wc -l 
Отлично .. Это работает ..! Спасибо. Jass 7 лет назад 0

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