awk 《第1回》使ってみよう 

awk」のインストールですが、「chocolatey」をインストールしてから、「awk」をインストールするのが楽そうです。

chocolatey」のインストールに関しては、Qiitaに記事がありましたので、参考にしてみてください。

同様に「awk」のインストールに関する記事もQiitaにありましたので、そちらも参考にしてみてください。

これで、windws10でもwindows11でもawkが使えるようになります。


いくつか特徴を上げます。

1.コマンドラインで使うこと
2.インタプリタであること
3.ストリームエディタであること

コマンドライン」というのは、昔で言うなら「DOS」の画面のことで、黒いやつのことです。

こういう画面で実行させます。

インタプリタ」というのはコンパイラではないプログラム言語のことです。コンパイラはソースをコンパイルすることで一般にはOS上で実行できるような機械語に置き換えることで、コンパイルする際に変数やエラーをチェックすることができますが、インタプリタは1行ずつソースコードを実行していくので、エラーがあればそこでエラーになります。

一部には速度が遅いなどという意見もあります。それはコンパイラは定義した変数や関数はメモリの上に展開してアドレスで参照する仕組みになっていますが、インタープリタはスクリプトコードを読み込みながらヒープに展開していきます。よってダイレクトにアドレスを参照するコンパイラに比べるとヒープを辿るインタープリタのほうが速度的に劣ることはあるかもしれません。

しかし、ストリームエディタは、標準入力からテキストデータを改行単位で読み込んでいくので、ここに多大なオーバーヘッドが生じるので、C言語で同じ処理を作ったからと言って大幅な速度改善が望めるとは思えません。それよりもスクリプトを書く開発時間の短さで、awkのほうが圧倒的なトータル時間の優位があると言えます。

ストリームエディタ」というのは、1行(改行単位)ずつストリームとして読み込みながら加工をしながらエディットしていくイメージです。

それと、ストリームエディタなので基本的には1行ずつしかメモリを使用しません。普通の書き方をしている限りメモリーが不足するようなことはありません。

awkの良さは圧倒的に無駄を省いた書き方ができることに尽きます。書き方で言えば、ほぼ、C言語的であり、VBAとかPHPのような冗長な記述は不要なう、最低の約素を守りさえすれば自由な表記法が許されています。

次の記事から実際に使っている書き方を紹介していきます。