windowsでawkを使う方法
目次
スポンサードリンク
awkとは
awk は開発者の頭文字Aho、Weinberger、Kernighanから取られたもので、テキスト処理に特化したスクリプト言語です。多くのUNIX、Linux環境にはデフォルトでインストールされており、特定の文字列を含む行の抽出、ファイルの行数カウント、列結合、数値データの集計など、様々な用途に活用されています。
Windowsでawkを使う方法
Windowsでawkを使う方法は複数あります。Windows上でUNIXライクな環境を提供するツールがあるので、そのいずれかを試すとよいでしょう。
- Cygwin(シグウィン)
- MINGW(ミン・ジー・ダブリュー)
- Windows Subsystem for Linux (WSL)
Cygwin(シグウィン)
Cygwin(シグウィン)は、Windows OS上にUNIXライクな環境を提供するフリーソフトウェアです。簡単に言えば、Windows上でUNIXのコマンドやツールを使えるようにするソフトウェアです。
公式サイトは、 https://www.cygwin.com/
メンテナーは Cygwin Projectです。2024年5月現在、活発にメンテナンスされており、最新のリリースは2024年4月23日です。
MINGW(ミン・ジー・ダブリュー)
MINGW(ミン・ジー・ダブリュー)は、Windows上で動作するGNU開発環境です。GNU Compiler Collection(GCC)を中心としたオープンソースのツールチェーンをWindows上で利用できるようにします。
公式サイトは、 https://www.mingw-w64.org/
メンテナーは MinGWプロジェクトです。2024年5月現在、活発にメンテナンスされており、最新のリリースは2024年5月19日です。
Windows Subsystem for Linux (WSL)
Windows Subsystem for Linux (WSL)は、Microsoftが提供するWindows 10/11用の機能で、Windows上でLinux環境をネイティブに動作させることができます。UbuntuなどLinuxディストリビューションを選択肢て、Microsoft Storeからインストールできます。
公式ドキュメントは、 https://learn.microsoft.com/ja-jp/windows/wsl/
メンテナーは Microsoftです。
Cygwin のインストールとawkの実行方法
当記事では、Cygwinを使ってWindows上でawkを実行する方法を紹介します。
まずは、公式サイトにアクセスして、インストーラーをダウンロードしましょう。画面内の 「Install Cygwin by running setup-x86_64.exe」 をクリックします。
インストーラーを起動したら、次へをクリックします。
Install from Internet を選択して次へをクリックします。
インストール先のディレクトリ、対象ユーザーを選んで次へをクリックします。
インストールで使用するファイルを展開するディレクトリを選択して次へをクリックします。
インターネット経由でソフトウェアをダウンロードする際の設定です。特に制約が無ければ、システムのプロキシ設定(Use System Proxy Settings)を選んで次へをクリックします。
どのサーバーからダウンロードするか選択します。今回は国内にある山形大学のサイトを選択しました。
インストールするパッケージを選択します。デフォルトのままでもOKです。 awk は Baseパッケージの中に含まれています。必要なものを選択しましょう。Skipと記載があるものはインストールされません。
インストールが完了したら、Windowsキー を押して、Cygwin Terminalを起動してみましょう。
起動すると見慣れたターミナル画面が表示されます。 試しに、Cドライブ直下のworkフォルダに配置したテストデータを使ってawkを実行してみます。
Cドライブ配下に移動する際のパスは、/cygdrive/c で始まります。
cd /cygdrive/c/work でフォルダに移動できます。
テストデータは data.txt にあります。
試しに、下記コマンドで、テストデータの2列名の値を合計して出力してみました。
$ cat data.txt | awk '{ sum += $2 } END { print sum }'
22
問題なく awk が実行できました。これで、Windows上のデータをawkで集計することができます。今回は Cygwin を試しましたが、MINGW や WSL でも 考え方は同様です。コマンド操作に慣れている方は是非試してみてください。
プログラミング言語AWK
AWK 言語作者による解説本。名著。
Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。