TechCraft – エンジニアのためのスキルアップメモ

エンジニアのスキルアップを少しでも加速する技術ブログ

AWKでHello World

AWKHello World – 基本的な使い方

AWK は、テキスト処理やデータ解析に強いプログラミング言語です。
主に UNIX/Linux 環境で利用され、ファイルの検索・加工・整形 に適しています。

この記事では、AWKを使って「Hello, World!」を出力する方法と基本構文 を解説します。


1. AWKとは?

AWKは、パターンマッチングとデータ処理を簡潔に記述できるスクリプト言語 で、以下の特徴があります。

テキストデータの処理が得意(ログ解析、CSV処理、レポート作成)
シンプルな構文ワンライナーでも強力な処理が可能)
C言語風の文法if 文、ループ、関数が使える)


2. Hello, World! を出力する基本的なAWKスクリプト

2.1 コマンドラインで実行

最も簡単なAWKスクリプトは以下のように記述します。

awk 'BEGIN { print "Hello, World!" }'

実行結果:

Hello, World!

解説: - BEGIN {} は、ファイルの入力処理を始める前に1回だけ実行 されるブロック - print "Hello, World!" でメッセージを出力


2.2 スクリプトファイルとして実行

AWKスクリプトをファイルに保存して実行することも可能です。

1. hello.awk を作成

BEGIN {
    print "Hello, World!"
}

2. 実行コマンド

awk -f hello.awk

2.3 awk の通常の使い方

AWKは、通常はファイルのデータを処理するために使用されます。例えば、ファイルの各行ごとに「Hello, World!」を出力するには、以下のように書きます。

echo -e "Line1\nLine2\nLine3" | awk '{ print "Hello, World!" }'

出力結果:

Hello, World!
Hello, World!
Hello, World!

この場合、{ print "Hello, World!" } は、入力の各行に対して適用されます。


3. 応用 – 文字列を処理するHello World

3.1 テキストファイルの内容と一緒に表示

echo -e "Alice\nBob\nCharlie" | awk '{ print "Hello, " $1 "!" }'

出力結果:

Hello, Alice!
Hello, Bob!
Hello, Charlie!

ここで $1 は、各行の最初のフィールド(単語) を指します。


4. まとめ

  • AWKはテキスト処理に特化した軽量な言語
  • BEGIN {} を使えば、データ入力なしでも処理が可能(Hello, World! の出力)
  • ファイルやコマンドの出力をパイプ (|) でつなげば、強力なテキスト操作が可能
  • シンプルなワンライナーから、複雑なデータ解析まで対応できる

AWKを使いこなすことで、シェルスクリプトの効率が飛躍的に向上するので、ぜひ活用してみましょう!

参考