Нахождение точного соответствия в QNX без использования grep -w
Я пишу скрипт, который должен найти точное совпадение в файле, совместимом с QNX и POSIX-совместимым Linux
более детально:
Я пытаюсь найти пользователя процесса, поэтому оригинальная команда, которую я написал, была
user=$(ps -aux | awk '{print $1 " " $2}' | grep -w ${process} | awk '{}print $1')
который отлично работает в POSIX-совместимом Linux
тем не менее, QNX не является полностью POSIX-совместимым и grep -w
не подходит для моей цели... поэтому мне нужно найти точное соответствие без grep -w
2 ответа
Я думаю, что вы хотите напечатать поле 1, если поле 2 точно совпадает с чем-то:
ps -aux | awk -v p=$process '$2==p{print $1}'
-w не является допустимым параметром POSIX для grep, его не следует использовать для приложения, которое должно быть переносимым между системами POSIX. Может всегда просто ps -p $1 -o user=? Что вы собираетесь делать с grep и awk в тех случаях, когда пользователь может совпадать с идентификатором процесса?