Mac/Ubuntuで使えるBSDのテキスト整形用ツール『rs』コマンドを使ってみる

ふとtwitterみてたら、rsコマンドなるものを使って処理しているものがあったので、ちょっと調べつつ使ってみることにした。
どうやらBSDで使われていたデータ処理のコマンドのようで、ちょっとしたバグはあるようだけど、いろんな使い道があるようだ。日本語のmanはこちら

一応Mac OS Xには最初から、Ubuntuには以下のコマンドでインストールすることができる。

sudo apt-get install rs

以下、いくつかの使い方をピックアップする。

1.複数の列に分割する

以前にこちらでも触れたのだが、pasteのように標準出力で受けた列を、複数の列に分割...


Linuxコンソール上で、Excelのように行と列を入れ替えたい時がある。
そんなときは、以下のようにawkなどを使うことで実現可能だ。

1.awkを使う

まずはawkを使う場合。
以下のようにすることで、行と列の入れ替えが可能だ。

awk '
{ for (i=1; i<=NF; i++)  { a[NR,i] = $i } } NF>p { p = NF }
END {
    for(j=1; j<=p; j++) { str=a[1,j]; for(i=2; i<=NR; i++){ str=str" "a[i,j]; }
        print str
    }...