Na linha de comando do shell, os espaços sem aspas servem apenas para delimitar palavras durante a análise do comando. Eles não são passados, nem nos argumentos que o comando vê nem no fluxo de entrada padrão.
Estou paranoico com isso, mas espero que seja uma pergunta simples:
Existe alguma diferença entre
cat file1 | egrep -oP "[Mm]y string" > /home/user/file.txt
e
cat file1|egrep -oP "[Mm]y string">/home/user/file.txt
i.e., importa se eu tenho espaços preenchendo os caracteres pipe (|) e redirecionamento (>)? Eu estou realmente paranóico que ter espaços lá os espaços de alguma forma acabam no arquivo de saída quando eu não quero isso. Alguém pode esclarecer? (Usando o Ubuntu 12 / bash se isso importa.)