Open usp Tukubaiには「keta(1)」(桁)というコマンドがある。このコマンドは端末でデータを確認するときに便利なコマンド。たとえば次のようなデータがあったとする。
$ cat data 12321 4323 42542 52456 3 121425 1243243545 54 45 6 6 111 $
このままでは見難いので、次のようにketa(1)を実行してデータを見やすくする。
$ cat data | keta
12321 4323 42542 52456 3 121425
1243243545 54 45 6 6 111
$
タブを使えばこうしたコマンドを使わなくても表示を揃えることができそうに思えるが、タブの長さを超えた場合にはやはり表示がずれてしまうため、専用のコマンドがあった方が便利だ。
$ cat data | tr ' ' 't' 12321 4323 42542 52456 3 121425 1243243545 54 45 6 6 111 $
keta(1)はもともとテキストで帳票を作るときにフォーマットを整えるためのコマンドとして開発されたものだ。しかし現在ではエディタやページャを使わずにデータを確認するためによく使われている。たとえば/etc/aliasesファイルからコメントや空行を除いて整形して見たいときには次のように使用する。
$ cat /etc/aliases | grep -v '#' | grep -v '^$' | tr 't' ' ' | keta
MAILER-DAEMON: postmaster
postmaster: root
_dhcp: root
_pflogd: root
bin: root
bind: root
daemon: root
games: root
hast: root
kmem: root
mailnull: postmaster
man: root
news: root
nobody: root
operator: root
pop: root
proxy: root
smmsp: postmaster
sshd: root
system: root
toor: root
tty: root
usenet: news
uucp: root
abuse: root
security: root
ftp: root
ftp-bugs: ftp
$
端末画面だけでこのようにデータを整理して確認できると作業がはかどる。ちなみにgrep -vは、不要な行をフィルタリングで削除する機能で、この例のように特定の行を除去する場合に使用する。
シンボリックリンクだけ抽出する場合にもketa(1)は便利に利用できる。
$ ls -l | grep '->' lrwxrwxrwx 1 root root 22 7月 1 2011 grub.conf -> ../boot/grub/grub.conf lrwxrwxrwx 1 root root 11 7月 1 2011 init.d -> rc.d/init.d lrwxrwxrwx 1 root root 7 1月 16 18:54 rc -> rc.d/rc lrwxrwxrwx 1 root root 13 1月 16 18:54 rc.local -> rc.d/rc.local lrwxrwxrwx 1 root root 15 1月 16 18:54 rc.sysinit -> rc.d/rc.sysinit lrwxrwxrwx 1 root root 10 1月 16 18:54 rc0.d -> rc.d/rc0.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc1.d -> rc.d/rc1.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc2.d -> rc.d/rc2.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc3.d -> rc.d/rc3.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc4.d -> rc.d/rc4.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc5.d -> rc.d/rc5.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc6.d -> rc.d/rc6.d lrwxrwxrwx 1 root root 11 1月 16 18:54 rmt -> ../sbin/rmt $
keta(1)を使うと次のようになる。
$ ls -l | grep '->' | keta lrwxrwxrwx 1 root root 22 7月 1 2011 grub.conf -> ../boot/grub/grub.conf lrwxrwxrwx 1 root root 11 7月 1 2011 init.d -> rc.d/init.d lrwxrwxrwx 1 root root 7 1月 16 18:54 rc -> rc.d/rc lrwxrwxrwx 1 root root 13 1月 16 18:54 rc.local -> rc.d/rc.local lrwxrwxrwx 1 root root 15 1月 16 18:54 rc.sysinit -> rc.d/rc.sysinit lrwxrwxrwx 1 root root 10 1月 16 18:54 rc0.d -> rc.d/rc0.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc1.d -> rc.d/rc1.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc2.d -> rc.d/rc2.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc3.d -> rc.d/rc3.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc4.d -> rc.d/rc4.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc5.d -> rc.d/rc5.d lrwxrwxrwx 1 root root 10 1月 16 18:54 rc6.d -> rc.d/rc6.d lrwxrwxrwx 1 root root 11 1月 16 18:54 rmt -> ../sbin/rmt $
Open usp Tukubaiには他にもself(フィールドの選択)やcomma(カンマ区切り表示)など、端末で使えるコマンドがいくつかある。使い方を手になじませて端末での作業を快適にしてほしい。
※ usp Tukubaiはユニバーサル・シェル・プログラミング研究所の登録商標。