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".

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.


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.


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.