Я пишу скрипт, который должен найти точное совпадение в файле, совместимом с QNX и POSIX-совместимым Linux.
Подробнее:
Я пытаюсь найти пользователя процесса, поэтому исходная команда, которую я написал, была
user=$(ps -aux | awk '{print $1 " " $2}' | grep -w ${process} | awk '{}print $1')
который отлично работает в POSIX-совместимом Linux
однако QNX не полностью совместим с POSIX, а grep -w
не подходит для моей цели... поэтому мне нужно найти точное совпадение без grep -w
awk
может сделать все, что вы надеетесь достичь с помощьюawk ... | grep ... | awk ...
, который почти всегда является плохой структурой. Пожалуйста, покажите образец вывода вашегоps
и объясните, какие части должны соответствовать каким. Также рассмотрите возможность замены одного, если ваши 3 тегаqnx
наawk
. - person Mark Setchell   schedule 26.07.2017awk
с разделителями слов, напримерawk '/\<PROCESSID\>/ {do something}'
- person Mark Setchell   schedule 26.07.2017\<
и\>
работают только в GNU awk (gawk), который, я сомневаюсь, доступен в QNX, если GNU grep недоступен, но вы можете сделатьps -aux |awk '$2=="'$process'"{print $1}'
- person Adam Katz   schedule 31.07.2017ps u $process |awk 'NR>1{print $1}'
, но я не знаю опций QNX ps. - person Adam Katz   schedule 31.07.2017