Schimi42
20-06-2008, 10:53
Hallo zusammen,
ich habe gerade ein akutes Skript-Problem und bin dabei auf dieses Forum gestoßen. Vielleicht könnt ihr mir helfen.
Ich habe mehrere Dateien, die ich mittels grep, awk und sort soweit vorverarbeitet habe, dass eine Datei erzeugt wird die so aussieht:
<String0>
123
313
2313
4322
<String1>
231
313
2323
4332
5232
<String2>
131
313
2323
4332
5232
...
Es sind immer (sortierte) Zahlenreihen (Zahlen zwischen 0 und 8191) die durch Strings voneinander getrennt sind. Es können unterschiedlich viele Zahlen pro Block auftreten (0 bis 8192).
Ich möchte im ersten Schritt eine Daten erstellen, die so aussieht:
<String0>;<String1>;<String2>
123;231;131
313;313;313
2313;2323;2323
4322;4332;4332
;5232;5232
Also die Blöcke nebeneinander in Spalten geschrieben. Die Krönung wäre allerdings eine Datei die so aussieht:
<String0>;<String1>;String2>
123;;
;;131
;231;
313;313;313
2313;;
;2323;2323
4322;;
;4332;4332
;5232;5232
Also jede auftretende Zahl hat so eine eigene Zeile. Tritt sie in einem der Blöcke nicht auf soll einfach ein leerer Eintrag da sein.
Ich komme hier einfach nicht weiter. Ist sowas mit Hilfe von awk/sed/etc. möglich?
Gruß,
Schimi
ich habe gerade ein akutes Skript-Problem und bin dabei auf dieses Forum gestoßen. Vielleicht könnt ihr mir helfen.
Ich habe mehrere Dateien, die ich mittels grep, awk und sort soweit vorverarbeitet habe, dass eine Datei erzeugt wird die so aussieht:
<String0>
123
313
2313
4322
<String1>
231
313
2323
4332
5232
<String2>
131
313
2323
4332
5232
...
Es sind immer (sortierte) Zahlenreihen (Zahlen zwischen 0 und 8191) die durch Strings voneinander getrennt sind. Es können unterschiedlich viele Zahlen pro Block auftreten (0 bis 8192).
Ich möchte im ersten Schritt eine Daten erstellen, die so aussieht:
<String0>;<String1>;<String2>
123;231;131
313;313;313
2313;2323;2323
4322;4332;4332
;5232;5232
Also die Blöcke nebeneinander in Spalten geschrieben. Die Krönung wäre allerdings eine Datei die so aussieht:
<String0>;<String1>;String2>
123;;
;;131
;231;
313;313;313
2313;;
;2323;2323
4322;;
;4332;4332
;5232;5232
Also jede auftretende Zahl hat so eine eigene Zeile. Tritt sie in einem der Blöcke nicht auf soll einfach ein leerer Eintrag da sein.
Ich komme hier einfach nicht weiter. Ist sowas mit Hilfe von awk/sed/etc. möglich?
Gruß,
Schimi