Sed: Bestimmtes Feld einer "Zeile mit mehreren Feldern" ergänzen

P

Programmer78

Doppel-As
Hallo,

in einer Datenbank (einfache Textdatei) wollte ich in einer bestimmten Zeile ein bestimmtes Feld mit Informationen ergänzen. Geläufig ist mir nur

Code:
sed -i '/BestimmteZeile/ s/Haus/HausZ/' Datei

Um eine lange Schleife zu umgehen wie

Code:
cat Textdatei | while read i ; do
Bestimmtes_Feld1=`echo $i | cut -d \  -f 7
Bestimmtes_Feld2=`echo $i | awk {`print $8`}
if echo $Bestimmtes_Feld1 | grep SuchmusterFeld1 >/dev/null; then 
echo $i | sed -i '/'"$Bestimmtes_Feld1"'/ s/'"$Bestimmtes_Feld2"'/&Z/' Datei
done

(ja es geht auch kompliziert! :brav: ) dachte ich, dass es auch nur mit Sed gehen müsste, habe aber im Netz nichts gefunden in dieser Richtung.

Also ich müsste
Code:
cat textdatei | tail -1
BenutzerDefinition InfoinLink97751 Daten37g52341_Zgp3eII 374 1398585605 236 /link457 So_27.04.14

im Beispiel oben die 374 (Variable) in 347A wandeln. Ich weiß nicht wie ich mit Sed nur das Feld ändere (wie ich es als Suchmuster definiere).

Das sed '/BenutzerDefinition/ .. .. Feld müsste man noch erweitern, weiss aber nicht wie und hoffe auf Ratschläge oder Alternativen.

Danke

Programmer78
 

Ähnliche Themen

SED: eine Zeile mit einem Grep-Output ersetzen

Wertebereich ersetzen mit sed

Liste mischen. Alternativen zu sort -R

Wert an Zeile anhängen, kein Zeilenumbruch

wie Regex für sed escapen?

Zurück
Oben