bestimmete Zeichenketten in Varibale kopieren

M

mtpmoni

Jungspund
Hallo,

ich habe eine Datei, in der mehrere Zahleneinträge, die durch ein Leerzeichen und ein Tab voneinander getrennt sind mit Wertevorgaben vergleichen und falls sie kleiner sind, dann sollen Sie durch den Vorgabewert ersetzt werden. Nun habe ich es noch nicht geschafft, die Zahlenwerte aus einer Zeile zu separieren und mit dem Vorgabwert zu vergleichen.
Kann mir jemand einen Tip geben, dieses Problem zu Lösen?
Sollte auf jedenfall alles in ein Shellskript integriert werden.

gruß mtpmoni
 
Nun habe ich es noch nicht geschafft, die Zahlenwerte aus einer Zeile zu separieren ...

Hallo mtpmoni

Bin leider sehr in Eile, aber schau dir mal cut und tr an.
Mit tr kannst du z.B. Leerschläge in Tabs umwandeln oder umgekehrt.

Code:
tr -s ' ' '\t'

Mit cut kannst du anschliessend die Zahlen aus den Trennzeichen ausschneiden.

Gruss
 
Da du weder Dein OS noch die Shell angibst, hier ein Denkanstoß für die Bash:
Das geht über viele Wege.
Hier mit bashmitteln:
Wenn es reine Integer (ohne Vornull) sind:
Schnellschuß ungetestet.
Code:
NEW=50;
while read -a A;
       do 
       for i in ${A[*]};
              do 
                  if [ $i -gt 15 ]; then
                     echo $NEW;
                  else 
                     echo -ne "$i ";
                  fi;
       echo
       done;
done <test.txt >newfile
mv newfile test.txt

Read -a verwendet ein Array.

Gruß Wolfgang
 

Ähnliche Themen

[gelöst] - for file in ... nur für bestimmte Endungen?

Basteln eines Shell Scripts!

Zeile an txt anhängen

Implementieren eines Shell-Scripts zum Löschen einzelner Dateien

Problem: Pfade mit Leerzeichen

Zurück
Oben