Respuestas:
A su pregunta de título: No. Obtener stdin
del contenido del archivo ( redirección de entrada ) no es lo mismo que canalizar la salida de un programa a la entrada de otro programa.
Pero, como en cat
realidad solo imprime el contenido de un archivo, el resultado es efectivamente el mismo en ese ejemplo.
Pero incluso solo lo siguiente produce resultados muy diferentes:
$ cat * | sort
$ sort < *
Si hay más de un archivo coincidente, este último producirá
-bash: *: ambiguous redirect
dado que no es tan flexible como el primero, que capturará todos los archivos coincidentes y los canalizará como entrada sort
.
sort < txtfile
mucho más eficiente que cat txtfile | sort
?
sort *
? Sin uso inútil de cat, sin uso inútil de indirección, más corto de tipo, más fácil de pensar, y creo que GNU sort te tratará con optimizaciones de escalabilidad para archivos muy grandes (no estoy tan seguro de eso, medio recordando algo allí)