Answers:
您不能转义出现在单引号中的单引号。如[bash手册]中所述:( http://www.gnu.org/software/bash/manual/bashref.html#Single-Quotes):
将字符括在单引号(''')中可保留引号内每个字符的字面值。即使在单引号前面加上反斜杠,也不能在单引号之间引起单引号。
因此,您必须使用不同的方法:
使用双引号:
grep "'type' => 'select'" file
如果您喜欢不必要的复杂解决方案:
grep "'"type"'"\ =\>\ "'"select"'" file
您始终可以搜索任何单个字符,而不必指定单引号:
grep '.type. => .select.' file
但是只需使用"
,它会使事情变得更加简单。
$var
,则可以grep '$var' file.php
用单引号引起来。有关更多详细信息,请发布新问题并在此处给我评论。我很乐意提供帮助。
$output = $info['function']($variables);
重复的行:我只需要用双反斜杠正确地转义它们即可。毕竟,这是我的grep命令:targetstring="\$output = \$info\\['function'\\](\$variables);" targetlinenumber=`grep -n "$targetfile" -e "$targetstring" | cut -d :f 1`
cd到包含您的.txt文件的目录
cd /path
然后 :
您可以使用 grep "'type' => 'select'" name.txt
要么 :
`grep "'type' => 'select'" /path/file.txt
输出:
grep
的其他任何(略微无关)功能。
-r
选项(如OP所写),则不需要文件名。