変数でawkを使用する

変数でawkを使用する

入力されたテキストを処理するプログラムに入力されたすべての単語に基づいて単語リストを作成しています。ストリームエディタ(sedやawkなど)を使用して文書内の各行の最初の単語を検索し、変数に格納されているパターンが見つかった場合は行番号を返したいと思います。私は多すぎます。うまくいくこれまで:

awk $1 '{print $1 " " NR""}' dictionary.txt | awk '/^**myWord** /' | cut -d" " -f2

しかし、「myWord」の代わりに変数を使用する方法がわかりません。たとえば、次を使用した場合にのみエラーが発生します。

read=searchWord

awk $1 '{print $1 " " NR""}' words.txt | awk '/^**$searchWord** /' | cut -d" " -f2

ベストアンサー1

一重引用符で囲まれた文字列内では変数の拡張は行われません'。努力する:

searchWord="myWord"
awk $1 '{print $1 " " NR""}' words.txt | awk '/^**'"$searchWord"'** /' | cut -d" " -f2

おすすめ記事