sed -i '/^foo/! s/^/bar/' file.txt
-i
ubah file di tempat/^foo/!
hanya lakukan tindakan selanjutnya pada baris bukan!
dimulai dengan foo^foo
s/^/bar/
ubah awal baris menjadi bilah
Sejauh yang saya tahu sed
tidak melihat ke depan atau melihat ke belakang. Beralihlah ke bahasa yang lebih kuat dengan sintaksis serupa, seperti perl
.
Anda menggunakan sintaks ekspresi reguler (PCRE) yang kompatibel dengan perl yang tidak didukung oleh GNU sed. Anda harus menulis ulang regex Anda sesuai dengan SED Regular-Expressions atau menggunakan perl
sebagai gantinya.
Perhatikan bahwa SED tidak memiliki lookahead dan karena itu tidak mendukung fitur regex yang Anda coba gunakan. Itu dapat dilakukan di SED menggunakan fitur lain, seperti yang telah disebutkan orang lain.
Openssl :kesalahan sertifikat yang ditandatangani sendiri dalam rantai sertifikat
Menghapus bagian dari nama file untuk banyak file di Linux