トップページへ

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

小粋空間 » Linux » lessコマンドで特定の文字列をフィルタリングする方法

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

1.問題点

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

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

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

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

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

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

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

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

&/表示

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

Non-match &/

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

除外したい文字

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

& :

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

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

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

« 前の記事へ

次の記事へ »

トップページへ