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

Linux での awk コマンドの例

awk コマンドは、ファイルに対してパターン マッチングを実行します。 AWK プログラミング言語に基づいています。 awk キーワードの後に​​は、パターン、実行するアクション、およびファイル名が続きます。実行されるアクションは、中括弧内に指定されます。実行するパターンとアクションは、一重引用符で囲んで指定する必要があります。パターンが指定されていない場合、アクションはすべての入力データに対して実行されます。ただし、アクションが指定されていない場合は、行全体が印刷されます。 awk コマンドは、コマンドラインから、または awk スクリプト ファイル内から実行できます。

awk コマンドを使用すると、特定のパターンに一致するテキストを抽出するなど、さまざまな方法でテキスト ファイルを処理できます。特定のパターンに一致するテキストを削除します。特定のパターンに一致するテキストを追加します。

構文

awk コマンドの構文は次のとおりです。

# awk [options] ['patterns {actions}'] {file names}

awk コマンドの例

1. スペースで区切られたファイルの 5 列目 (別名フィールド) を出力します。

# awk '{print $5}' filename

2. 「foo」を含む行の 2 列目をスペース区切りファイルに出力します。

# awk '/foo/ {print $2}' filename

3. フィールド区切り文字として (スペースの代わりに) コンマを使用して、ファイルの各行の最後の列を出力します。

# awk -F ',' '{print $NF}' filename

4. ファイルの最初の列の値を合計し、合計を出力します:

# awk '{s+=$1} END {print s}' filename

5. 1 行目から 3 行おきに印刷:

# awk 'NR%3==1' filename

6. 条件に基づいて異なる値を出力:

# awk '{if ($1 == "foo") print "Exact match foo"; else if ($1 ~ "bar") print "Partial match bar"; else print "Baz"}' filename

7. 10 列目の値が指定された値と等しいすべての行を出力します。

# awk '($10 == value)'

8. 10 列目の値が最小値と最大値の間にあるすべての行を出力します。

# awk '($10 >= min_value && $10 <= max_value)'


Linux
  1. Linux での sa コマンドの例

  2. Linux での ac コマンドの例

  3. Linux での df コマンドの例

  1. Linux での rm コマンドの例

  2. Linux での ps コマンドの例

  3. Linux での du コマンドの例

  1. 7 Linux df コマンドの例

  2. w Linux でのコマンド例

  3. Linux での lpr コマンドの例