7

すべてのファイルにテキストが含まれていることを見つけようとしています:$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']を使用しようとしgrep -rl '$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']' .ましたが、後で見つかっ[]た検索パターンとして特別な意味があります。では、テキストを検索するための正しいコマンドは何$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']でしょうか?

4

3 に答える 3

15

あなたはその通り[で、]特殊文字です。それらを引用する\か、fgrep代わりに使用してください。後者はプレーンな文字列検索です:

fgrep "\$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']" ...

ただし、それ以外の場合は他のシェル$によって解釈されるため、引用する必要があります。bash

于 2013-08-14T09:13:51.243 に答える
3

-F または --fixed-strings を使用して、一致させる文字列のリストを指定できます。

grep -Frl "\$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']" /path/to/files

grep のマニュアルページから:

-F, --fixed-strings PATTERN を改行で区切られた固定文字列のリストとして解釈し、そのいずれかが一致するようにします。( -F は POSIX で指定されています。)

fgrepは廃止されましたが、 の代替として引き続き利用できる可能性がありますgrep -F

于 2015-08-24T10:41:12.720 に答える