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
    }...

すこし調べ物をしていたところ、GNU Datamashという非常に便利そうなコマンドを見つけたので少し使ってみることにした。
簡単に説明すると、テキストの加工や統計情報を取得するコマンドで、様々なサブコマンドを使ってそれらの機能を使い分けていくタイプのコマンドだ。

行列の入れ替えや列の反転、統計情報の計算など、コンソール上で何かやるには結構便利な機能が用意されている。

1.インストール

まずはインストール
UbuntuやCentOS、Macの場合は、以下のようにコマンドを実行することでインストールできるようだ。

Debian/Ubuntuの場合

sudo apt-...