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はユニバーサル・シェル・プログラミング研究所の登録商標。