Di Unix "kurang", dapatkah saya melompat ke baris berikutnya yang TIDAK mengandung X?

21

Di lessalat Unix , apakah mungkin untuk melompat ke baris berikutnya yang tidak mengandung ekspresi tertentu?

Saya kadang-kadang harus melihat melalui file yang berisi ribuan baris yang berdekatan yang serupa, misalnya, semua mengatakan "Komputasi sesuatu " dan saya tertarik pada baris berikutnya setelah blok saat ini, yang tidak mengandung kata "Komputasi".

dehmann
sumber

Jawaban:

29

Ya, ini adalah fungsi pencarian yang tidak cocok, misalnya:

less file.conf

maka Anda mengetik /dan setelah itu !baris terakhir Anda akan terlihat seperti:

Non-match /

kemudian ketik pola Anda misalnya Non-match /^#untuk mencari baris pertama tanpa awal#

Alih-alih !karakter Anda juga dapat menggunakan Ctrl+N.

Coder Kasual
sumber
1
Ini sempurna. Tidak bisa mengharapkan jawaban yang lebih baik.
dehmann
4

Sebagai tambahan untuk jawaban Casual Coder:

Anda juga bisa memfilter semua baris:

<logfile grep -v mypattern |less 

Kerugiannya adalah Anda harus keluar dan memulai kembali grep untuk mengubah pola; keuntungannya adalah bahwa garis yang tidak ingin Anda sembunyikan disembunyikan, yang membuatnya lebih mudah untuk menemukan pola menarik di garis yang Anda minati.

sleske
sumber
1

Anda tidak hanya dapat melompat antara baris yang tidak mengandung X, Anda dapat menyembunyikan baris yang memang mengandung X, menggunakan less's &perintah penyaring regex.

less file.conf

kemudian ketik &!^Computingmaka enterkunci dan semua baris itu akan disembunyikan dari pandangan.

Anda masih dapat mencari di dalam garis yang tersisa dengan /.

Setelah Anda menemukan garis yang Anda inginkan, Anda dapat mengembalikan yang lain jika Anda memerlukan konteksnya - ketik &maka enterkunci untuk menghapus filter.

Wil
sumber