前回apt-get sourceで取得したgrep-2.27のビルドを試みて諦めました。
今回は、gnuのサイトからgrep最新版のソースを取得してビルドしようと思います。
まずはソースの取得から。3.1が最新のようです。
takk@deb9:~/tmp$ wget http://ftp.gnu.org/gnu/grep/grep-3.1.tar.xz ~省略~ `grep-3.1.tar.xz' に保存中 grep-3.1.tar.xz 100%[===================>] 1.31M 337KB/s in 4.0s 2018-11-30 19:30:07 (337 KB/s) - `grep-3.1.tar.xz' へ保存完了 [1370880/1370880] takk@deb9:~/tmp$
解凍して中身を確認。
takk@deb9:~/tmp$ tar xJf grep-3.1.tar.xz takk@deb9:~/tmp$ cd grep-3.1/ takk@deb9:~/tmp/grep-3.1$ ls ABOUT-NLS INSTALL THANKS config.hin lib thanks-gen AUTHORS Makefile.am THANKS.in configure m4 COPYING Makefile.in TODO configure.ac maint.mk ChangeLog NEWS aclocal.m4 dist-check.mk po ChangeLog-2009 README build-aux doc src GNUmakefile README-alpha cfg.mk gnulib-tests tests takk@deb9:~/tmp/grep-3.1$
ではビルドします。
takk@deb9:~/tmp/grep-3.1$ ./configure ~省略~ takk@deb9:~/tmp/grep-3.1$ make ~省略~ takk@deb9:~/tmp/grep-3.1$ find -name grep ./src/grep takk@deb9:~/tmp/grep-3.1$
すんなり通りました。
色が付くか確認してみます。
takk@deb9:~/tmp/grep-3.1/src$ export GREP_COLOR='01;33' takk@deb9:~/tmp/grep-3.1/src$ ./grep --color colorize grep.c
パイプ後はどうでしょうか。
takk@deb9:~/tmp/grep-3.1/src$ ./grep --color colorize grep.c | tail
3.1でも、やはり色は消えますね。
では、前回やろうとしていたこと、print_start_colorizeに実際通っているのかの確認をしたいと思います。printfを追加して[ABC]という文字列を埋め込みます。
前回同様の修正です。
takk@deb9:~/tmp/grep-3.1$ sed -ne '47,52p' lib/colorize-posix.c void print_start_colorize (char const *sgr_start, char const *sgr_seq) { printf (sgr_start, sgr_seq); printf ("[ABC]"); } takk@deb9:~/tmp/grep-3.1$
ではビルド。
takk@deb9:~/tmp/grep-3.1$ make
埋め込んだ文字列が表示されるか確認してみます。
takk@deb9:~/tmp/grep-3.1$ cd src takk@deb9:~/tmp/grep-3.1/src$ ./grep --color colorize grep.c
埋め込んだ文字列が表示されました。
コメント