S
speeder84
Grünschnabel
Hallo alle Shell Profis !!
Ich habe folgendes Problem und möchte dieses per Shell Skript lösen:
Ich habe eine Datei mit vielen Zeilen. Jede Zeile halt Spalten die per Komma getrennt sind. In der 1. Spalte stehen Namen, wie zum Beispiel ABBSS0112 und danach stehen viele von Komma getrennte Werte. Ich möchte diese Werte normalisieren, d.h. alle Werte die kleiner 30 (auch "Minus") sollen durch 30 ersetzt werden und alle die größer als 100 sollen durch 100 ersetzt werden. Die erste Zeile soll außerdem so bleiben wie sie ist.
Beispielzeile:
ABBSS0112,-43,5439,89,932,1,31,30,100
aus dieser soll dann folgendes werden:
ABBSS0112,30,100,89,100,30,31,30,100
Ich habe schon verschiedenes probiert, wie zum Beispiel sed, aber ich hatte immer das Problem, dass wenn ich die "," mit in den zu suchenden String eingeben habe, hat er nur jeden 2. Wert ersetzt!?
Da habe ich gedacht, das es womöglich mit awk, oder sowas in der Art besser geht, aber da bin ich bis heute nicht geschafft.
Ich bin für jede Hilfe dankbar.
MFG
Speeder
Ich habe folgendes Problem und möchte dieses per Shell Skript lösen:
Ich habe eine Datei mit vielen Zeilen. Jede Zeile halt Spalten die per Komma getrennt sind. In der 1. Spalte stehen Namen, wie zum Beispiel ABBSS0112 und danach stehen viele von Komma getrennte Werte. Ich möchte diese Werte normalisieren, d.h. alle Werte die kleiner 30 (auch "Minus") sollen durch 30 ersetzt werden und alle die größer als 100 sollen durch 100 ersetzt werden. Die erste Zeile soll außerdem so bleiben wie sie ist.
Beispielzeile:
ABBSS0112,-43,5439,89,932,1,31,30,100
aus dieser soll dann folgendes werden:
ABBSS0112,30,100,89,100,30,31,30,100
Ich habe schon verschiedenes probiert, wie zum Beispiel sed, aber ich hatte immer das Problem, dass wenn ich die "," mit in den zu suchenden String eingeben habe, hat er nur jeden 2. Wert ersetzt!?
Da habe ich gedacht, das es womöglich mit awk, oder sowas in der Art besser geht, aber da bin ich bis heute nicht geschafft.
Ich bin für jede Hilfe dankbar.
MFG
Speeder
Zuletzt bearbeitet: