本文へスキップ

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が使われます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

同じ読みのことば

「おーく」と同じ読みで、意味のちがうことばです。

関連用語