web-dev-qa-db-ja.com

Unixの「less」で、Xを含まない次の行にジャンプできますか?

Unix lessツールで、notに特定の式が含まれている次の行にジャンプすることはできますか?

たとえば、すべてが「Computing something」と表示されている、数千の類似した隣接行を含むファイルを調べる必要がある場合があります。現在のブロックの次の行には、 「コンピューティング」という言葉。

21
dehmann

はい、これは不一致の検索機能です。例:

less file.conf

次に、/と入力すると、!の最後の行は次のようになります。

Non-match /

次に、たとえばNon-match /^#のようにパターンを入力して、#を開始せずに最初の行を探します。

!文字の代わりに、Ctrl+Nを使用することもできます。

29
Casual Coder

カジュアルコーダーの答えに加えて:

行を完全に除外することもできます。

<logfile grep -v mypattern |less 

欠点は、パターンを変更するためにgrepを終了して再起動する必要があることです。利点は、見たくない線が非表示になることです。これにより、関心のある線の興味深いパターンを簡単に見つけることができます。

5
sleske

Xを含まない行間をジャンプできるだけでなく、less& regex filterコマンドを使用して、Xを含む行を非表示にすることができます。

less file.conf

次に、&!^Computingを入力してからenterキーを入力すると、これらの行はすべて非表示になります。

/を使用して残りの行内を検索することもできます。

必要な行が見つかったら、コンテキストが必要な場合は他の行を戻すことができます。&と入力し、次にenterキーを入力してフィルターを削除します。

1
Wil