lessコマンドで特定の文字列をフィルタリングする方法

lessコマンドで特定の文字列をフィルタリングする方法

Posted at April 18,2018 12:03 AM
Tag:[less, Linux]

lessコマンドで特定の文字列をフィルタリングする方法を紹介します。

1.問題点

あるシステムで出力されるログを、"less +F"で動的に出力しているのですが、閲覧不要なログが大量に出力され、本当に見たい内容のログが見れません。

下記のようにすると、ログが動的に出力されなくなります。

% grep -v 除外文字列 | less +F

ということで、lessコマンドで特定の文字列をフィルタリングする方法を紹介します。

2.lessコマンドで特定の文字列をフィルタリングする

lessコマンドで特定の文字列をフィルタリングするには、まずlessコマンドでログを表示します。

このとき、"+F"オプションは付与せずに表示させてください。

次に"&"を押下。これで下記のように"&/"が表示されます。

&/表示

さらに"!"を押下すると"Non-match &/"という表示になります。

Non-match &/

除外したい文字を設定。ここでは"foo"と入力しています。

除外したい文字

リターンすれば"& :"という表示になり、フィルタリングした状態になります。

& :

さらに"Shift+f"を押下すれば、設定した文字にマッチしない行だけを動的に表示します。

設定した文字にマッチしない行を動的に表示

"!"を入力せずに文字列を設定すれば、設定した文字が存在する行だけをフィルタリングしてくれます。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)