在尝试在文件中搜索“hello”的简单模式时,以下所有形式的grep都可以工作:
> grep hello file1
> grep’hello’file1
> grep“hello”file1
是否存在上述形式之一有效但其他形式无效的特定情况.
如果我用一个代替另一个,它会有什么不同吗?
这实际上取决于你的
shell.行情(任何一种)主要用于处理空白.例如,以下内容:
原文链接:https://www.f2er.com/bash/385969.htmlgrep hello world file1
将在名为“world”和“file1”的文件中查找“hello”一词
grep "hello world" file1
将在file1中寻找“hello world”.
如果搜索字符串包含您希望评估的变量或其他项,则在单引号或双引号之间进行选择非常重要.使用单引号,字符串按字面意思取得,不会发生扩展.使用双引号,变量将被扩展.例如(使用Bourne派生的shell,如Bash或ZSH):
VAR="serverfault" grep '$VAR' file1 grep "$VAR" file1
第一个grep将在file1中查找文字字符串“$VAR1”.第二个将扩展“$VAR”变量并在file1中查找字符串“serverfault”.