Bearbeiten und ordnen Sie eine Datei über die Befehlszeile, die aus Excel 2003 importiert wurde, neu an

997
anmol dabang

Ich habe eine Textdatei aus Excel 2003 im folgenden grundlegenden Format importiert.

43038 12500 s.ramesh labour  43038 13000 m.ramesh doctor 

Ich muss diese Datei in einem solchen Format anordnen, dass Spalte 1 von 1 bis 5 sein sollte.

Das Problem ist, dass die Spalten 2, 3 und 4 nicht in der jeweiligen Reihenfolge angeordnet sind.

Ich möchte diese Datei in einer solchen Reihenfolge

  • Spalte 2 der gesamten Datei sollte sich an der Stelle 15-19 befinden
  • Spalte 3 sollte in 49-65 stehen
  • Spalte 4 sollte sich in Position 75-95 befinden

Die Datei hat 100000 Zeilen und 4 Spalten.

Ich bin auf der Suche nach einem Rat, ob Sort, VI oder ein anderer Editor oder eine Shell hilfreich wäre, da ich dies täglich für ungefähr 100 Dateien tun muss.

0

1 Antwort auf die Frage

0
RedGrittyBrick

Eine Skriptsprache wie Perl ist dafür ideal.

$ 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 

oder

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

Dann können Sie hunderte von Dateien in einem Durchgang bearbeiten

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