In Linux if you type
sort < txtfile
is that the same thing as
cat txtfile | sort
In Linux if you type
sort < txtfile
is that the same thing as
cat txtfile | sort
To your title question: No. Getting stdin from file contents (input redirection) is not the same as piping one program's output to another program's input.
But, as your cat actually just prints a file's contents, the result is effectively the same in that example.
But even just the following produce very different results:
$ cat * | sort
$ sort < *
If there's more than one matching file, the latter will produce
-bash: *: ambiguous redirect
since it's just not as flexible as the former, which will cat all matching files, and pipe them as input into sort.
sort *? No useless use of cat, no useless use of indirection, shortest to type, easiest to think of, and I believe GNU sort will treat you to scalability optimizations for very large files (not so sure about that - half remembering something there) – sehe Oct 25 '12 at 23:05sort < txtfilemuch more efficient thancat txtfile | sort? – Pacerier Mar 13 '15 at 11:55