シェルワンライナー160本ノック問題128
問題128 grepの挙動の違いの正体を突き止めろ
PCREのバージョンを出力する問題だった。共有ライブラリとしてPCREが使われていると知らないと解けない問題だったようで、わからないのも当然だった。
解答例は
ldd /bin/grep | awk '/pcre/{print $3}' | xargs dpkg -S | awk -F: '{print $1}' | xargs dpkg -s | awk -F'[:-]' '/Version/{print $3}'
となる。PCREのファイル名を特定した後、OSのパッケージ管理システムを使ってバージョンを特定する方針をとっている。つまり、dpkgでこのファイルを含むパッケージ名を特定して、それからそのパッケージのバージョンを特定している。