正規表現で grep 検索を便利に その2

引き続き、正規表現をつかった grep の操作です
今回は、行頭をしめす ^
そして行末を示す $
これらを使った便利な検索を行っていこうと思います
まずは ^ からです
設定ファイルに追記し、記述があっているかわからない
もしくはエラーメッセージで何行目にエラー
となったときに、ファイルを開かずとも
該当するところを grep で表示できます
例えば
SetEnvIf Request_URI default.ida no_log
SetEnvIf Request_URI cmd.exe no_log
SetEnvIf Request_URI root.exe no_log
SetEnvIf Request_URI Admin.dll no_log
SetEnvIf Request_URI NULL.IDA no_log
を追記し、その確認をしたいのなら
行頭が SetEnv で始まっているので、今回の ^を使います
$ grep -n “^SetE” /etc/httpd/conf/httpd.conf
511:SetEnvIf Request_URI default.ida no_log
512:SetEnvIf Request_URI cmd.exe no_log
513:SetEnvIf Request_URI root.exe no_log
514:SetEnvIf Request_URI Admin.dll no_log
515:SetEnvIf Request_URI NULL.IDA no_log
これで行番号もでますので、ミスがあれば
sed コマンドで置き換えすれば修正できます
また、行末の単語で検索すれば、かなり便利に検索できます
例えば
Webサーバー構築(Apache)
にあるように、最後の文字が80ならば
$ grep -n “80$” /etc/httpd/conf/httpd.conf
133:#Listen 12.34.56.78:80
134:Listen 80
262:ServerName www.example.com:80
980:#NameVirtualHost *:80
というように、 vi でテキストを開いて / で単語をいれて検索するよりも
より効率的に調べることができます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です