ふつうのLinuxプログラミング 第7章 headコマンド。

今回はheadコマンドを作る。catとあまり変わらない感じですが、引数に-n 5, -n5 --lines 5 --lines5等を取れるようにします。

普通に組んだら、ここだけで大変なんですが・・・getopt.hのgetopt_longという便利な関数を使って、解析しちゃってます。便利すぎて・・・もう・・・。この章だけでも買った価値アリですね。

% ./head --lines 5 head.c tags
#include <stdio.h>
#include <stdlib.h>

#define _GNU_SOURCE
#include <getopt.h>
!_TAG_FILE_FORMAT       2       /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED       1       /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR    Darren Hiebert  /dhiebert@users.sourceforge.net/
!_TAG_PROGRAM_NAME      Exuberant Ctags //
!_TAG_PROGRAM_URL       http://ctags.sourceforge.net    /official site/

カッコいい!!

まだ、GDBによる解析はやってませんが、次章からgrepです!!grepが作れるなんて・・・楽しみです。読み進めたいと思いま〜す。