117

ログ ファイル (application.log) には、次の通常文字と特殊文字の文字列が複数行に含まれている可能性があります。

*^%Q&$*&^@$&*!^@$*&^&^*&^&

この特殊文字列を含む行番号を検索したい。

grep '*^%Q&$*&^@$&*!^@$*&^&^*&^&' application.log

上記のコマンドは結果を返しません。

行番号を取得するための正しい構文は何ですか?

4

6 に答える 6

189

オプションgrepを使用して、入力を固定文字列として扱うように指示し-Fます。

grep -F '*^%Q&$*&^@$&*!^@$*&^&^*&^&' application.log

-n行番号を取得するにはオプションが必要です。

grep -Fn '*^%Q&$*&^@$&*!^@$*&^&^*&^&' application.log
于 2012-09-12T12:04:23.360 に答える
110

私のために働いたものは次のとおりです。

grep -e '->'

-e は、次の引数がパターンであり、引数として解釈されないことを意味します。

出典: http://www.linuxquestions.org/questions/programming-9/how-to-grep-for-string-769460/

于 2013-04-18T13:12:42.163 に答える
3
grep -n "\*\^\%\Q\&\$\&\^\@\$\&\!\^\@\$\&\^\&\^\&\^\&" test.log
1:*^%Q&$&^@$&!^@$&^&^&^&
8:*^%Q&$&^@$&!^@$&^&^&^&
14:*^%Q&$&^@$&!^@$&^&^&^&
于 2012-09-13T12:14:36.170 に答える