Eu acho que posso estar ignorando um ponto relativamente fundamental em relação ao shell. A saída do comando ls, por padrão, separa a saída com novas linhas, mas o shell exibe a saída em uma única linha.
Alguém pode me explicar isso? Sempre presumi que a saída fosse simplesmente separada por espaços, mas agora que vejo a saída separada por novas linhas, esperaria que a saída fosse exibida em linhas separadas.
Exemplo:
cpoweradm@debian:~/lpi103-4$ ls text*
text1 text2 text3
od mostra que a saída é separada por novas linhas:
cpoweradm@debian:~/lpi103-4$ ls text* | od -c
0000000 t e x t 1 \n t e x t 2 \n t e x t
0000020 3 \n
0000022
Se novas linhas estiverem presentes, por que a saída não é exibida como:
text1
text2
text3
ls
. É útil, mas é claramente inconsistente e surpreendente. Mas observe que alguns comandos que produzem saída colorida removerão as cores ao serem canalizados também.