You are not saying whether you are eshell or shell . In my experience, the shell works just fine, but eshell completely unsuitable for anything that wants to put> 1k lines through the pipe (which is sad because the other eshell functions look pretty good).
Note. eshell is slow, even if the output is only one line, if you use | , so it seems to be the actual operator | (which is implemented in emacs-lisp in eshell), which is slow.
source share