Hi, die Not ist groß, so rief ich euch. Danke für eure Hilfe. Frage kurz: 1. Wie bekomme ich eine Prüfung auf hundertprozentige Übereinstimmung bei sed Suchen&Ersetzen 2. Sowie ggf. dies mit Sonderzeichen wie [] und #
Allgemein:
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash #Suchmuster such1="aw 1" such2="[hallo]" #Ausgabe ausgabe1="aw 2" ausgabe2="[raus mit dir]" |
Frage 1:
1 | sed -i "s/$such1/$ausgabe1/g" dateipfad1 |
Hier macht er aus z.B. aw 14 ein aw 24. er soll aber nur aw 1 ersetzen, auch kein #aw 1 (steht alles am Zeilenanfang).
Frage 2: Ich möchte in einem Code nach [hallo] inklusive der [ ] suchen und ersetzen. In dem Code gibt es jedoch auch: hallo , #[hallo] , [abchallodef] usw., daher muss ich nach genauer Übereinstimmung suchen und ersetzen. Soweit bin ich schon gekommen:
1 | sed -i "s/^\<$such2\>/$ausgabe2/g" dateipfad2 |
Funktioniert aber irgendwie nicht mit ^ und \< ... \> zusammen, sowie den Sonderzeichen [ ] und #.
Frage 2 auch für # anstatt [ ]. Dies funktioniert leider nicht aufgrund von [] und/oder #.
Vielen Dank für eure Hilfe. Pedi