Réponses:
À votre question de titre: Non. Obtenir à stdin
partir du contenu d'un fichier ( redirection d'entrée ) n'est pas la même chose que diriger la sortie d'un programme vers l'entrée d'un autre programme.
Mais, puisque votre cat
imprime simplement le contenu d'un fichier, le résultat est effectivement le même dans cet exemple.
Mais même juste ce qui suit produit des résultats très différents:
$ cat * | sort
$ sort < *
S'il y a plus d'un fichier correspondant, ce dernier produira
-bash: *: ambiguous redirect
car il n'est tout simplement pas aussi flexible que le premier, qui capturera tous les fichiers correspondants et les dirigera en entrée sort
.
sort < txtfile
beaucoup plus efficace que cat txtfile | sort
?
sort *
? Pas d'utilisation inutile de chat, pas d'utilisation inutile d'indirection, le plus court à taper, le plus facile à penser, et je pense que le tri GNU vous offrira des optimisations d'évolutivité pour les très gros fichiers (pas si sûr - la moitié se souvient de quelque chose là-bas)