0

特殊文字の使用に問題があります。タブで区切られたテキスト ファイルを解析しています。特定のパラメーターが true の場合、プログラムで行の最初の単語に「*」を追加したいと考えています。

if ($Var < $3)  $1 = \*$1

これを実行するたびに、行末ではないというエラーが表示されます。

4

1 に答える 1

0

2 つのことですが、テストするコンテキストがこれ以上ない場合は、あまり役に立ちません。

  1. $Var上記で Var=3 のように設定した場合にのみ意味があります。次に、gawk が $3 を $3 の値に評価するとは思わない。その式の反対側は< $3、3 番目のフィールドの値に展開されます。シェル環境から $Var を取得している場合、gawk スクリプトにその値を「認識」させる必要があります。

    awk '{ ..... if ('"$Var"' < $3) $1= "*" $1 .....}

  2. 文字列リテラル「*」を前に追加したい場合は、次のようにしたほうがよいでしょう$1 = "*" $1

サンプル入力、期待される出力のサンプル、実際の出力、およびエラー メッセージがないので、ここで 20 の質問をプレイします。これらのコメントで問題が解決しない場合は、上記の質問を編集してこれらの項目を含めてください。

PS StackOverflowへようこそ。私たちが通常ここで行っている 3 つのことを思い出させてください。/2vycnvr , 3) 良い Q&A が表示されたら、灰色の三角形を使って投票してください彼らの知識。また、問題をよりよく解決する答えがある場合は、チェックマーク記号を押して受け入れることを忘れないでくださいhttp://i.imgur.com/uqJeW.png

于 2011-12-07T17:37:13.710 に答える