Solução em TXR Lisp:
(let* ((data [mapcar file-get-lines (glob "file*")]))
(mapdo (op file-put-lines 'out@2' @1) (transpose data) (range 1)))
Executar:
$ ls
file0 file1 trans.tl
$ txr trans.tl
$ ls
file0 file1 out1 out2 out3 trans.tl
$ cat out1
000 010 020 030
001 011 021 031
$ cat out2
100 110 120 130
101 111 121 131
$ cat out3
200 210 220 230
201 211 221 231