Saya memiliki koleksi file teks besar.
Saya mencari cara untuk menemukan dua string yang berada di baris yang sama (dalam file yang sama) dalam koleksi di mana jarak karakter antara kedua string tidak lebih besar dari jarak yang saya tentukan.
Misalnya, jika file teks berisi:
The quick brown fox jumps over the lazy dog
dan saya melewati string fox
dan over
dengan jarak 7 (atau lebih) itu akan mengembalikan baris ini karena 7 adalah jarak antara kata-kata ini.
Saya menjalankan mesin Windows 8.
Jawaban:
Gunakan egrep. Atau opsi grep -e.
Secara umum:
Semua opsi di atas hanya akan mengembalikan bagian yang cocok. Agar baris penuh dapat dikembalikan, jangan gunakan opsi -o. Jadi itu akan menjadi:
Untuk menerapkannya ke semua file dalam folder yang akan Anda gunakan:
Semua ini berasumsi bahwa setidaknya ada satu pemisahan karakter.
sumber
Karena Anda menggunakan Windows, gunakan Notepad ++ bersamaan dengan plugin RegEx Helper
Jika Anda ingin seluruh baris, gunakan
^.*fox.{0,7}over.*$
bukanfox.{0,7}over
sumber