awk コマンドジェネレーター
パターンスキャンとテキスト処理を行う awk コマンドを生成
awk を使い始める
## awk とは?
`awk` はテキスト処理向けのプログラミング言語です。入力を 1 行ずつ走査し、各行をフィールドに分割して、`pattern { action }` ルールからなるプログラムを適用します。列の抽出、表形式レポート、行ごとの演算に優れています。
## 使い方
1. **プログラムを入力**: `{print $1}` のような `awk` プログラムを入力します。 2. **フィールド区切りを設定**(省略可): CSV 入力には `-F ','` を指定します。 3. **ファイルを指定**: 処理対象のファイルを入力します。 4. **コピーして実行**: 生成されたコマンドをターミナルに貼り付けて実行します。
プログラムの構文
`awk` プログラムは一連のルールで構成されます:
``` pattern { action } pattern { action } ```
### 組み込み変数 - `$0` — 現在の行全体 - `$1`、`$2`、… — 1 番目、2 番目、… のフィールド(`FS` で分割) - `NF` — 現在の行のフィールド数 - `NR` — 現在の行番号(ファイル全体を通した連番) - `FS` — フィールド区切り(既定は空白、`-F` で設定)
### 特殊なパターン - `BEGIN { … }` — 入力を読み込む前に 1 回だけ実行(初期化やヘッダー出力に便利) - `END { … }` — 全入力を処理した後に 1 回だけ実行(合計値の出力に便利)
### 例 - `{print $1}` — すべての行の第 1 フィールドを出力 - `{sum += $1} END {print sum}` — 第 1 列の合計を計算 - `NR == 1 {next} {print}` — ヘッダー行をスキップ - `$3 > 100 {print $1, $3}` — 第 3 フィールドが 100 を超える行を出力
### クォート シェルが `$`、`{`、`}` を解釈しないよう、プログラムはシングルクォートで囲んでください。このジェネレータがクォート処理を行います。
▶CSV ファイルを解析するには?
▶累計を計算するには?
このツールがあなたに役立ったなら、私にコーヒーをご馳走することをお勧めします。
私にコーヒーを買ってください。