Linux grep字符串搜索

Linux grep字符串搜索,linux,string,grep,Linux,String,Grep,我想搜索 $GLOBALS[“\x61\156\x75\156\x61”]使用grep,但“和/工作不完美 grep -rl "$GLOBALS["\x61\156\x75\156\x61"]" <filename> grep-rl“$GLOBALS[”\x61\156\x75\156\x61“] $GLOBALS[“\x61\156\x75\156\x61”]是一个病毒恶意软件的起始代码,很多文件都受到影响。我有一个脚本,我希望搜索受影响的文件并删除顶行,因为您正在寻找精确匹配

我想搜索

$GLOBALS[“\x61\156\x75\156\x61”]
使用grep,但
/
工作不完美

grep -rl "$GLOBALS["\x61\156\x75\156\x61"]" <filename>
grep-rl“$GLOBALS[”\x61\156\x75\156\x61“]

$GLOBALS[“\x61\156\x75\156\x61”]
是一个病毒恶意软件的起始代码,很多文件都受到影响。我有一个脚本,我希望搜索受影响的文件并删除顶行

,因为您正在寻找精确匹配,并且不希望表达式被
grep
解释,所以必须使用
-F
和单引号来避免变量被扩展教育署:

grep -Frl '$GLOBALS["\x61\156\x75\156\x61"]' <filename>
      ^   ^                                ^
和一个数组:

$ myarray=('hello' 'how' 'are' 'you')
让我们使用单引号并查找值:

$ grep '${myarray[0]}' a
$ 
让我们使用带双引号的固定字符串->它被解释

$ grep -F "${myarray[0]}" a
hello
让我们使用
-F
和单引号:

$ grep -F '${myarray[0]}' a
${myarray[0]}                    #this works!

您使用的是支持关联数组的最新版本的bash,并且
GLOBALS
引用关联数组吗?还是尝试搜索等于
$GLOBALS[“\x61\156\x75\156\x61”]
的文本?
$ grep -F '${myarray[0]}' a
${myarray[0]}                    #this works!