Tengo un archivo de texto importado de Excel 2003 en el siguiente formato básico.
43038 12500 s.ramesh labour
43038 13000 m.ramesh doctor
Tengo que organizar este archivo en un formato tal que la columna 1 debe ser del 1 al 5.
El problema es que las columnas 2, 3 y 4 no están dispuestas en el orden particular.
Quiero este archivo en tal orden que
- la columna 2 de todo el archivo debe estar en el lugar 15-19
- la columna 3 debe estar en 49-65
- la columna 4 debe estar en la posición 75-95
El archivo tiene 100000 filas y 4 columnas por favor.
Estoy buscando consejos sobre si sería útil sort, vi o cualquier otro editor o shell, porque tengo que hacer esto con unos 100 archivos diarios.
Respuesta1
Un lenguaje de programación como Perl es ideal para ello.
$ cat t2
5 2 r.gritty teaboy
43038 12500 s.ramesh labour
43038 13000 m.ramesh doctor
$ perl -ane 'printf("%5s %5s\n", $F[2],$F[1])' t2
r.gritty 2
s.ramesh 12500
m.ramesh 13000
o
$ perl -ane 'printf("%5s %0.5d\n", $F[2],$F[1])' t2
r.gritty 00002
s.ramesh 12500
m.ramesh 13000
Luego, para editar cientos de archivos en el lugar, todo de una sola vez.
$ perl -i -ane 'printf("%5s %5s\n", $F[2],$F[1])' t1 t2 t3 t4 t5 *.txt foo/t6