パターンマッチング後、N行目の値を抽出しようとしています'kappa (ts/tv) ='
。次のコマンドを使用してawkを使用しています。
awk '/kappa (ts/tv) =/{print $NF}' text.txt
しかし、エラーが発生しました。
awk: cmd. line:1: error: Unmatched ( or \(: /kappa (ts/
「sed」を使用してもこのエラーが発生します。ここに正規表現の内容が欠けていることを知っています。
誰でもどんな提案をすることができますか?
ベストアンサー1
そこに2つの質問があります。まず、一致演算子を/
区切り文字として使用します。しかし、探しているパターンには/
。
/kappa (ts/tv) =/
/kappa (ts/
次のように解釈されると、tv) =/
構文エラーが発生します。脱出/
して成功しなければなりません\/
。次に、括弧は正規表現の文脈で特別な意味を持ちます(一部とにかく正規表現スタイル):一致するグループをキャプチャするために使用されます。したがって、必要なタスクを実行するにはエスケープも必要です。これらすべてを総合すると、次のようになります。
awk '/kappa \(ts\/tv\) =/{print $NF}' text.txt