GNU/Linux >> Linux の 問題 >  >> Linux

列値条件で awk を使用する

特定の文字列を探している場合は、引用符で囲みます:

awk '$1 == "findtext" {print $3}'

それ以外の場合、awk はそれが変数名であると想定します。


AWK に応じて 実装は == を使用していますか 大丈夫かどうか。

~ を試しましたか ?.たとえば、$1 を「hello」にしたい場合:

awk '$1 ~ /^hello$/{ print $3; }' <infile>

^ $1 開始、および $ を意味します $1 終了です。


このメソッドは正規表現を使用します。動作するはずです:

awk '$2 ~ /findtext/ {print $3}' <infile>

Linux
  1. GNU Diff のパーセンテージ値

  2. ddを使用してFFでファイルをパディングする方法は?

  3. awk を使用して、別の列の値に基づいて列の値を合計する

  1. AwkまたはGrepでグループをキャプチャしますか?

  2. printf での色の使用

  3. AWKを使用して特定の列に特定の値を持つ行を選択する

  1. awk または sed を使用して特定の文字を削除する

  2. BASHスクリプトで「awk」を使用してCSVファイルの最後に列を追加します

  3. sed を使用して空行を削除する