Modifier et réorganiser un fichier via une ligne de commande, importé d'Excel 2003


0

J'ai un fichier texte importé d'Excel 2003 dans le format de base suivant.

43038    12500    s.ramesh    labour

43038    13000    m.ramesh    doctor

Je dois organiser ce fichier dans un format tel que la colonne 1 devrait être 1-5.

Le problème est que les colonnes 2, 3 et 4 ne sont pas rangées dans l’ordre particulier.

Je veux ce fichier dans un ordre tel que

  • la colonne 2 du fichier entier doit être à la place 15-19
  • la colonne 3 devrait être dans 49-65
  • la colonne 4 devrait être en position 75-95

Le fichier a 100 000 lignes et 4 colonnes plz.

Je suis à la recherche de conseils sur le choix de sorte, vi ou tout autre éditeur ou shell, car je dois le faire pour environ 100 fichiers par jour.

Réponses:


0

Un langage de script comme Perl est idéal pour cela.

$ 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

Puis pour éditer des centaines de fichiers en une seule fois

$ perl -i -ane 'printf("%5s %5s\n", $F[2],$F[1])' t1 t2 t3 t4 t5 *.txt foo/t6
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.