表題のコマンドについてメモ。知らなかった使い方だった。
■ 環境
- Linux
- Mac OSX El Capitan
■ paste
`paste`コマンドといえば、複数のファイルを行単位で結合するコマンドである。例えば下記のような実行結果となる。
$ cat test1
1
2
3
$ cat test2
a
b
c
$ paste test1 test2
1 a
2 b
3 c
$ cat test3
x
y
z
$ paste test1 test2 test3
1 a x
2 b y
3 c z
$ paste -d , test1 test2 test3
1,a,x
2,b,y
3,c,z
$
今回はこれを応用(?)して、1つのファイルから行列(?)を作成する。元ファイルは下記のようなものである。
$ cat list
063
187
223
236
238
:
$
これを2列に並べ替えるには下記のように実行する。
$ cat list | paste - -
063 187
223 236
238 239
:
$
3列に並べ替えるのであれば下記のように実行する。
$ cat list | paste - - -
063 187 223
236 238 239
240 241 242
:
$
“-“の数で列数を指定できる。CSVのようにするには下記である。
$ cat list | paste -d , - - -
063,187,223
236,238,239
240,241,242
:
$
使い方によっては便利だ。
以上。