Editar e reorganizar um arquivo via linha de comando, importado do Excel 2003

0

Eu 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 esse arquivo em tal formato que a coluna 1 deve ser de 1 a 5.

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

Eu quero esse arquivo em uma ordem que

  • a coluna 2 do arquivo inteiro deve estar no local 15-19
  • a coluna 3 deve estar entre 49 e 65
  • a coluna 4 deve estar na posição 75-95

O arquivo tem 100000 linhas e 4 colunas plz.

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

    
por anmol dabang 20.09.2012 / 15:50

1 resposta

0

Uma linguagem de script como o 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, edite centenas de arquivos no local de uma só vez

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