lessコマンドで特定の文字列をフィルタリングする方法
小粋空間 » Linux » lessコマンドで特定の文字列をフィルタリングする方法
lessコマンドで特定の文字列をフィルタリングする方法を紹介します。
1.問題点
あるシステムで出力されるログを、"less +F"で動的に出力しているのですが、閲覧不要なログが大量に出力され、本当に見たい内容のログが見れません。
下記のようにすると、ログが動的に出力されなくなります。
% grep -v 除外文字列 | less +F
ということで、lessコマンドで特定の文字列をフィルタリングする方法を紹介します。
2.lessコマンドで特定の文字列をフィルタリングする
lessコマンドで特定の文字列をフィルタリングするには、まずlessコマンドでログを表示します。
このとき、"+F"オプションは付与せずに表示させてください。
次に"&"を押下。これで下記のように"&/"が表示されます。
さらに"!"を押下すると"Non-match &/"という表示になります。
除外したい文字を設定。ここでは"foo"と入力しています。
リターンすれば"& :"という表示になり、フィルタリングした状態になります。
さらに"Shift+f"を押下すれば、設定した文字にマッチしない行だけを動的に表示します。
"!"を入力せずに文字列を設定すれば、設定した文字が存在する行だけをフィルタリングしてくれます。