Risposte:
Alla domanda del titolo: No. Ottenere stdindal contenuto del file ( reindirizzamento dell'input ) non è lo stesso del piping dell'output di un programma all'input di un altro programma.
Ma, dato che in catrealtà stai solo stampando il contenuto di un file, il risultato è effettivamente lo stesso in questo esempio.
Ma anche solo i seguenti producono risultati molto diversi:
$ cat * | sort
$ sort < *
Se c'è più di un file corrispondente, quest'ultimo produrrà
-bash: *: ambiguous redirect
dal momento che non è flessibile come il primo, che inserirà tutti i file corrispondenti e li inoltrerà come input sort.
sort < txtfilemolto più efficiente di cat txtfile | sort?
sort *? Nessun uso inutile di cat, nessun uso inutile di indiretto, il più breve da digitare, il più facile da pensare e credo che GNU sort ti tratterà di ottimizzazioni della scalabilità per file molto grandi (non ne sono così sicuro - metà ricordando qualcosa lì)