2017-02-09 2 views
1

Я хочу напечатать ИДП при поиске согласованного процесса в то время как шаблон матча вводятся:как с помощью переменных в шаблоне поиска в AWK сценарии

ps aux | awk -v in="$1" '/in/{print $1}' 

Кажется, бывший AWK предложение не является правильным. После проверки многих результатов в гугле как this, я изменить свой скрипт в следующем, но до сих пор не может работать:

ps aux | awk -v in="$1" '/$0 ~ in/{print $1}' 

или

ps aux | awk -v in="$1" '($0 ~ in) {print $1}' 
+1

Я думаю, что 'pgrep "$ 1"' будет лучшим вариантом ... – Sundeep

ответ

2

Вы довольно близки во всех ваших попыток. Проблема в том, что in зарезервированное ключевое слово в awk.

Вы можете использовать:

ps aux | awk -v var="$1" '$0 ~ var {print $1}' 

Или еще без регулярных выражений, как:

ps aux | awk -v var="$1" 'index($0, var) {print $1}' 

 Смежные вопросы

  • Нет связанных вопросов^_^