Respostas:
Para sua pergunta de título: Não. Obter stdin
conteúdo do arquivo ( redirecionamento de entrada ) não é o mesmo que canalizar a saída de um programa para a entrada de outro programa.
Mas, como você cat
realmente imprime o conteúdo de um arquivo, o resultado é efetivamente o mesmo nesse exemplo.
Mas mesmo os seguintes itens produzem resultados muito diferentes:
$ cat * | sort
$ sort < *
Se houver mais de um arquivo correspondente, o último produzirá
-bash: *: ambiguous redirect
já que não é tão flexível quanto o anterior, que coletará todos os arquivos correspondentes e os canalizará como entrada sort
.
sort < txtfile
muito mais eficiente do que cat txtfile | sort
?
sort *
? Nenhum uso inútil de gato, nenhum uso inútil de indireção, mais curto para digitar, mais fácil para pensar, e acredito que a classificação GNU o levará a otimizações de escalabilidade para arquivos muito grandes (não tenho tanta certeza disso - metade lembrando algo lá)