Вызов Awk в сценарии оболочки

У меня есть эта команда, которая выполняется правильно, если запускать ее непосредственно на терминале.

awk '/word/ {print NR}' file.txt | head -n 1

Цель состоит в том, чтобы найти номер строки, в которой слово 'word'впервые появляется в file.txt.

Но когда я поместил его в файл сценария, похоже, он не работает.

#! /bin/sh

if [ $# -ne 2 ]
then
        echo "Usage: $0 <word> <filename>"
        exit 1
fi

awk '/$1/ {print NR}' $2 | head -n 1

Так что же я сделал не так?

Спасибо,

5
задан bluish 12 July 2012 в 15:57
поделиться