Команда Awk не работает в csh

Пожалуйста, дайте мне знать, что не так с кодом ниже:

#!/bin/csh
set str = "peanut"
set sr = "an"
awk 'BEGIN { print index($str,$sr) }'

Ошибка awk: поле неверно. Номер исходной строки 1.


person Programmer    schedule 03.12.2013    source источник


Ответы (1)


Строки $variable не интерпретируются Csh в «одинарных кавычках».

Возможно, самым простым решением является использование (GNU) переменных Awk в качестве параметров командной строки:

#!/bin/csh
set str = "peanut"
set sr = "an"
awk -vstr=$str -vsr=$sr 'BEGIN { print index(str, sr)}'
person Johnsyweb    schedule 03.12.2013
comment
и, конечно же, не используйте csh для сценариев. Гугл сш почему бы и нет. - person Ed Morton; 03.12.2013