Eingänge:
line1 with the PATTERN that contains ( )
line2 with the PATTERN that contains ( )
lineN with the PATTERN that contains ( )
Ausgänge:
line1 with the PATTERN that contains ( ) ;
line2 with the PATTERN that contains ( ) ;
...
lineN with the PATTERN that contains ( ) ;
Ich habe es versucht:
find . -name "test.txt" -print | xargs sed -i "/PATTERN/ s/$)/); /g"
aber es hat nicht funktioniert.
shell
sed
line-editor
user3342338
quelle
quelle
-exec ... +
statt-exec ... \;
, wenn Ihr Fund es erlaubt.Angenommen, das
PATTERN
ist tatsächlich so( )
und es könnte etwas zwischen dem( )
und dem liegen, dass sie nicht unbedingt am Ende der Zeile stehen:quelle
Verwenden von
ex
(wasvi -e
/ entsprichtvim -e
).Eine Datei:
Alle
test.txt
Dateien rekursiv:Hinweis: Stellen Sie sicher, dass die Globbing-Option (
**
) aktiviert ist durch:shopt -s globstar
Wenn Ihre Shell dies unterstützt.Hinweis: Der
:bufdo
Befehl ist nicht POSIX .quelle
Versuchen:
quelle