Contagem diferente para listagem de arquivos compactados vs listagem de diretórios

3

Eu estava fazendo um backup de uma pasta, onde usei o seguinte comando:

sudo tar -zcvf www.tar.gz /var/www/

Ele foi compactado com sucesso, apenas para verificar o número de arquivos no archive compactado, e o diretório eu executei os seguintes comandos:

sudo tar -ztvf www.tar.gz | wc -l - > 186364

ls -R /var/www | wc -l - > 196440

Como a contagem é diferente, o que estou perdendo?

    
por Aaditi Sharma 09.12.2012 / 08:27

3 respostas

4

Veja a saída sem canalizar para wc para ver a diferença

$ ls -R www | cat
www:
dir1
dir2
file1

www/dir1:
file1

www/dir2:
file1
file2
$ ls -R www | wc -l
11

e

$ tar xvfz www.tar.gz
www/
www/dir1/
www/dir1/file1
www/dir2/
www/dir2/file1
www/dir2/file2
www/file1
$ tar xvfz www.tar.gz |wc -l
7

ls -R apenas produz mais resultados.

    
por 09.12.2012 / 09:19
2

ls -R coloca algumas linhas vazias extras na saída, o que faz com que a contagem aumente.

Você pode testá-lo executando o comando ls -R sem canalizá-lo para wc -l

    
por 09.12.2012 / 09:27
-1

Use o comando tree

tree -i |tail

isso fornecerá o número de pastas e arquivos em uma determinada pasta.

    
por 16.10.2013 / 06:47