ls -l *.txt | wc -l | tee count.txt
No primeiro exemplo:
O comando ls
lista todos os arquivos no diretório atual que possuem a extensão de nome de arquivo .txt
, um arquivo por linha; essa saída é canalizada para wc
, que conta as linhas e gera o número; essa saída é canalizada para tee
, que grava a saída no terminal e grava as mesmas informações no arquivo count.txt
. Se count.txt
já existir, ele será sobrescrito.
No seu segundo exemplo:
ls -l *.txt | wc -l > tee count.txt
Neste exemplo, tee
será tratado como nome do arquivo em vez de um comando e a saída de wc -l
será redirecionada para o arquivo recém-criado tee
e conterá a saída de wc -l
e string count.txt
.
Se você quiser o mesmo comportamento que no primeiro exemplo, a maneira correta de fazer isso seria:
ls -l *.txt | wc -l > count.txt
>
em si é suficiente para redirecionar a saída para count.txt
file