Awkとは?
おーく
Awkとは、テキストファイルをパターンに従って処理・集計するためのプログラミング言語で、Unix/Linuxのコマンドラインで広く使われています。
Awkは、1977年にAT&Tベル研究所でアルフレッド・エイホ、ピーター・ワインバーガー、ブライアン・カーニハンの3人によって開発されたプログラミング言語です。名前は開発者3人の頭文字から取られています。テキストストリームの処理・変換・集計に特化しており、Unix系システムの標準ツールとして現在も広く使われています。
Awkの動作の仕組みは次のとおりです。
- 入力を1行ずつ読み込み、各行をフィールド(列)に自動分割する
- ユーザーが指定したパターンに一致する行に対してアクションを実行する
- 組み込み変数(NR=行番号、NF=フィールド数、FS=区切り文字など)が豊富
- 算術演算・文字列操作・配列・関数定義をサポート
- BEGIN/ENDブロックで前処理・後処理を記述できる
Awkはシェルスクリプトと組み合わせて使うことが多く、CSVやTSVのような区切り文字ファイルの処理、ログの集計・フィルタリング、レポート生成などに活躍します。GNUによる実装「gawk」が広く普及しており、多くのLinuxディストリビューションに標準搭載されています。
PythonやPerlが普及した現在でも、1行から数行でデータ加工が完結するawkのシンプルさはコマンドライン作業での強みであり続けています。
使い方・例文
ログファイルから特定のフィールドを抽出して集計したり、CSVの特定列だけを取り出して別ファイルに保存したりする際に、コマンドラインでAwkが使われます。
この用語をシェア
最終更新: