Если производительность не критична, следующий конвейер, который опирается на внешние исполняемые файлы, должен нормально работать:
ps -o cmd= | grep -Ewo '[^::space::]*mgr\.prm' | cut -c -15
ps -o cmd=
просит ps
только для отображения командных строк (без заголовка),grep
фильтрует строки по тем, которые содержат слово, оканчивающееся на mgr.\prm
, cut
возвращает только первые 15 символов этого слова.
Обратите внимание, что флаг grep
-w
ord-regexpне определяется POSIX и, вероятно, не будет работать, если вы не используете GNU grep
.В этом случае я рекомендую либо использовать grep
с флагом аромата регулярного выражения -P
CRE и добавить слово- \b
raoundary в конец шаблона, либо добавить ( |$)
в конец шаблона.