2012-04-11 2 views
0

Ich habe this Datei mit fester Breite mit den Breiten 34, 2, 3, 2, 1, 1, 3, 1, 2, 1, 2, 2 und 75, die ich (a) in ein abgegrenztes (csv) Format konvertieren möchte und dann (b) eine Teilmenge entsprechend V2 = "03" und V5 = "1". Ich habe den ersten Schritt herausgefunden:Unix/Linux: Datei mit fester Breite in CSV konvertieren und Teilmenge in zwei Spalten

awk -v FIELDWIDTHS='34 2 3 2 1 1 3 1 2 1 2 2 75' -v OFS=',' '{ $1=$1 ""; print }' </filepath/Parse.txt > /filepath/Parse.csv 

Aber ich bin bei Schritt 2.

Antwort

2

Versuchen mit stapfte:

awk -v FIELDWIDTHS='...' -v OFS=',' '($2=="03") && ($5=="1"){ $1=$1 ""; print }' 
+0

Hallo Mat ... Ich denke, das ist einfach zu überschreiben die Werte von V3 und V5 mit 03 und 1, anstatt die ursprüngliche Datei zu unterteilen. – user702432

+0

Sorry, schlechter Tippfehler. Sollte offensichtlich '==' in den Vergleichen sein. – Mat

+0

Aha! Perfekt. Vielen Dank, Mat. – user702432

Verwandte Themen