O operador de redirecionamento é usado para transmitir o% co_de de um comando % para um arquivo ( stdout ) ou para transmitir o conteúdo de um arquivo para > para um comando ( stdin ).
O operador de pipe ( < ) transmite a saída dos processos ( | ) para os processos seguintes ' stdout .
A única maneira de fazer com que seu primeiro caso funcione seria usar um arquivo temporário, então você precisaria usar duas etapas:
cat file1 > tmpfile
wc -l < tmpfile