Ich möchte alle Instanzen target
mit replace
in der folgenden file.csv mit Bash ersetzen, aber nur, wenn die Linie es enthält nicht enthält auch die Zeichenfolge skipline
:Wie wird eine Zeichenfolge in einer Datei nur dann ersetzt, wenn die Zeile, die sie enthält, auch keine bestimmte Zeichenfolge mit Bash enthält?
file.csv:
abc,abc,keepline,target,abc,abc
abc,abc,skipline,target,abc,abc
gewünschte Ausgabe:
abc,abc,keepline,replace,abc,abc
abc,abc,skipline,target,abc,abc
ich versuche sed
zu verwenden:
sed 's/target/replace' file.csv > newfile.csv
Wie kann ich Logik einbeziehen, um jede Zeile auf die Zeichenkette skipline
zu prüfen?