Queria saber quando usar aspas com grep ou outras ferramentas. Por exemplo, os dois comandos a seguir fornecem os mesmos resultados.
[Jhm@localhost /]$ grep Hello ./testfile
Hello world
[Jhm@localhost /]$ grep "Hello" ./testfile
Hello world
Faz diferença se uma palavra estiver entre aspas?
Responder1
Somente se a palavra contiver caracteres que tenham um significado especial para o shell.
grep "Hello?" ./testfile
irá procurar a string literal Hello?
no arquivo. No entanto, por exemplo,
grep Hello? ./testfile
irá procurar a string HelloA
se houver um arquivo HelloA
em seu diretório atual, porque ?
corresponderá a qualquer caractere único como um padrão glob.
Presumo que você não esteja surpreso com isso
grep Hello World ./testfile
e
grep "Hello World" ./testfile
são diferentes.