input:
line1 with the PATTERN that contains ( )
line2 with the PATTERN that contains ( )
lineN with the PATTERN that contains ( )
output:
line1 with the PATTERN that contains ( ) ;
line2 with the PATTERN that contains ( ) ;
...
lineN with the PATTERN that contains ( ) ;
Saya mencoba ini:
find . -name "test.txt" -print | xargs sed -i "/PATTERN/ s/$)/); /g"
tapi itu tidak berhasil.
shell
sed
line-editor
pengguna3342338
sumber
sumber
-exec ... +
alih - alih-exec ... \;
, jika temuan Anda memungkinkan.Dengan asumsi itu
PATTERN
sebenarnya( )
dan sesuatu mungkin terjadi di antara( )
dan bahwa mereka tidak harus di akhir baris:sumber
Menggunakan
ex
(yang setara denganvi -e
/vim -e
).Satu file:
Semua
test.txt
file secara rekursif:Catatan: Pastikan opsi globbing (
**
) diaktifkan oleh:shopt -s globstar
jika shell Anda mendukungnya.Catatan:
:bufdo
Perintah ini bukan POSIX .sumber
Mencoba:
sumber