Я пишу сценарий оболочки, который должен извлечь значения из текстового файла, который выглядит следующим образом:
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
У кого-нибудь есть идеи, что я здесь делаю неправильно? Я предполагаю, что я не экранирую правильную переменную, но независимо от того, что я пытаюсь, это, кажется, не работает.
Заранее спасибо