Edite e reorganize um arquivo via linha de comando, importado do Excel 2003

Edite e reorganize um arquivo via linha de comando, importado do Excel 2003

Tenho um arquivo de texto importado do Excel 2003 no seguinte formato básico.

43038    12500    s.ramesh    labour

43038    13000    m.ramesh    doctor

Eu tenho que organizar este arquivo em um formato que a coluna 1 seja de 1 a 5.

O problema é que as colunas 2,3 e 4 não estão organizadas na ordem específica.

Eu quero este arquivo em tal ordem que

  • a coluna 2 de todo o arquivo deve estar na posição 15-19
  • a coluna 3 deve estar em 49-65
  • a coluna 4 deve estar na posição 75-95

O arquivo tem 100.000 linhas e 4 colunas, por favor.

Estou procurando conselhos sobre se sort, vi ou qualquer outro editor ou shell seria útil, porque tenho que fazer isso para cerca de 100 arquivos diariamente.

Responder1

Uma linguagem de script como Perl é ideal para isso.

$ 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

ou

$ perl  -ane 'printf("%5s %0.5d\n", $F[2],$F[1])' t2
r.gritty 00002
s.ramesh 12500
m.ramesh 13000

Em seguida, para editar centenas de arquivos, coloque tudo de uma só vez

$ perl -i -ane 'printf("%5s %5s\n", $F[2],$F[1])' t1 t2 t3 t4 t5 *.txt foo/t6

informação relacionada