Awk - незавершенное регулярное выражение

Я пишу сценарий оболочки, который должен извлекать значения из текстового файла, который выглядит следующим образом:

app.full.name /warfilelocation/ warfilename

Мой сценарий оболочки будет перебирать список имен приложений и извлекать либо местоположение, либо имя с помощью AWK. Я тестировал выполнение этого в командной строке, используя следующее: awk "\ $ 1 ~ / app.full.name / {print $ 2}" applications.txt

, который возвращает то, что я ожидал, когда я поместите это в сценарий оболочки, у меня возникнут проблемы.

У меня есть функция, которая выглядит так:

function get_location() {
        local application=$1
        awk "\$1 ~/^$application/ { print \$2 }"  applications.txt 
}

Но когда я вызываю эту функцию, я получаю следующую ошибку:

awk: $1 ~/^app.full.name
awk:      ^ unterminated regexp
awk: cmd. line:1: app.full.name
awk: cmd. line:1:         ^ syntax error
awk: cmd. line:2: app.full.name/ { print $2 }
awk: cmd. line:2:    ^ syntax error

Есть ли у кого-нибудь идеи, что я здесь делаю неправильно. Я предполагаю, что я не избегаю правильной переменной, но независимо от того, что я пытаюсь, это не работает.

Заранее благодарим

0
задан BandyOrc 28 September 2011 в 13:54
поделиться