Команда ps
очень настраиваемая. Эти две команды почти эквивалентны, ваш выбор по AWK, и сконфигурированный формат пс:
ps axu | awk '{print $2, $3, $4, $11}'
ps axopid,pcpu,pmem,comm
Если форматирование пользователя u
был заменен на специальный формат o pid,pcpu,pmem,cmd
. Is аналогичен, не идентичен только из-за имени команды и некоторого форматирования. Пойдем к этому чуть позже.
Если имя команды не прерыватель сделки, пс мог даже сортировать по некоторому выбранному ключу с опцией k
, и выбирая только 20 строк мы получаем:
ps axopid,pcpu,pmem,comm k-pmem | head -20
Который заменить все выбирающее, сортировку, и форматирование вашей исходной команды. Думаю, этого достаточно для всех практических применений.
Но если вам нужен идентичный результат в качестве оригинала, нам нужно развернуть команду, чтобы показать все аргументы. Такой вывод очень длинный для некоторых команд и плохо форматирует. Кроме того, обработка awk, которую вы использовали, НЕ может быть воспроизведена простым ps. Нам нужно вырезать командную часть в первом пространстве и, чтобы получить лучшее форматирование, нам нужна некоторая любовь к printf.
Все сказанное, это получает точно такой же результат (ну, немного лучше отформатирован):
ps axopid,pcpu,pmem,cmd k-pmem | head -20 | awk '
{gsub(/ .*/, "", $4); printf "%5s %4s %4s %-.50s\n", $1,$2,$3,$4}'
И, просто делает его единственную линию, чтобы использовать его немного проще копировать/вставить:
ps axopid,pcpu,pmem,cmd k-pmem | head -20 | awk '{gsub(/ .*/, "", $4); printf "%5s %4s %4s %-.50s\n", $1,$2,$3,$4}'
Таким образом, псевдоним становится только одной линией.
Надеюсь, вы сможете получить псевдоним.
В теории вы можете избавиться от команды 'awk', указав' ps', какие столбцы для печати. На практике, удачи, выяснить, как. Возможно, 'ps -opid, pcpu, pmem, comm ax'? – chepner
'ps -e -sort -pmem -opid, pcpu, pmem, comm | head -20' почти делает то, что вы хотите, избегая необходимости 'awk' или' sort', хотя, насколько я могу судить, он не будет сортировать в поле 'pmem'. – chepner
Спасибо всем за быстрый ответ !!! – Kaushik