Saya perlu mencari baris yang berisi beberapa kata tetapi tidak mengandung kata kedua.
Misalnya, cari baris yang berisi kata "Ini" tetapi bukan kata "merah"
sehingga untuk file yang berisi baris-baris ini
This is a blue coat
This is a red coat
This is a purple coat
That is a coat
Pencarian akan menemukan baris pertama dan ketiga saja.
Terima kasih atas sarannya!
Jawaban:
Anda dapat menggunakan perintah ini untuk mencetak baris yang mengandung
This
dan tidakred
:\&
memisahkan cabang seperti logisAND
karena kami ingin garis yang memenuhi dua kondisi (cabang),\(.*This\)
adalah cabang pertama, bisa sajaThis
tetapi lebih umum seperti itu,\(.*red\)\@!
adalah cabang kedua,\@!
berarti "sama dengan nol lebar jika atom sebelumnya tidak cocok", seperti logikaNOT
.Dengan kata lain:
sumber
Lihatlah postingan ini.
Kombinasikan dengan jawaban @romainl dan Anda dapat melakukan apa pun yang Anda inginkan.
Contoh: Misalkan saya ingin menambahkan
const
fungsi yang tidak memilikinya.Skrip VIM:
Keluaran:
Penjelasan:
- Dapatkan saya semua baris yang memiliki
word =
- menggabungkan aturan
- baris tidak boleh berisi
const
.sumber