![Linuxでログファイルを検索し、角かっこ(例:[および])などの特殊文字をエスケープする方法](https://linux33.com/image/87039/Linux%E3%81%A7%E3%83%AD%E3%82%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%A4%9C%E7%B4%A2%E3%81%97%E3%80%81%E8%A7%92%E3%81%8B%E3%81%A3%E3%81%93%EF%BC%88%E4%BE%8B%EF%BC%9A%5B%E3%81%8A%E3%82%88%E3%81%B3%5D%EF%BC%89%E3%81%AA%E3%81%A9%E3%81%AE%E7%89%B9%E6%AE%8A%E6%96%87%E5%AD%97%E3%82%92%E3%82%A8%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
Linuxでログファイルを検索し、角かっこ(および[
)]
などの特殊文字をエスケープする方法
誰でもこれについて正しい方向を教えてもらえますか?
私のless
ログファイルは次のとおりです。
less system001A.LOG
ログで、次の記号<
(たとえば、記号の少ない)をクリックし、スラッシュ(たとえば/
)を押して、検索する内容を入力します。
/ERROR [section_NAME]
問題は、検索時にこれらの括弧を避ける方法です。なぜならこれを実行するとパターン/一致が見つからないと表示されますが、実際にはこれがログに存在するからです。
答え1
^R
マニュアルには、を押してから()を押すと、検索文字CTRL+R列全体の正規表現検索をオフにできると言われています/
。
答え2
システムにGNU正規表現がある場合(re_compile_patternはC libにあります)、エスケープ文字は一般的なバックスラッシュ(\
)です。ただし、less
コンパイル方法によっては、さまざまな正規表現エンジンを使用できます。https://github.com/gwsw/less/blob/master/pattern.c#L25