Como o “cat” manipula arquivos grandes quando usado como parte de um pipe?

1

Suponha que cat de um arquivo tenha tamanho de 10 GB e canalize isso para head . O cat funcionaria se meu sistema tivesse apenas 2 GB de RAM e 1 GB de espaço de troca? Eu quero saber os detalhes internos.

    
por Neeraj Wadhwa 21.01.2017 / 17:51

1 resposta

5

cat não precisa se lembrar de nenhuma parte do arquivo que já enviou da entrada para a saída. Em outras palavras, ele usa a memória O (1) .

head também não precisa se lembrar de partes do arquivo que ele já enviou, só precisa contá-las. Além disso, nem sequer precisa ler a totalidade da sua entrada; pode parar quando atinge a quantidade de linhas solicitadas na saída.

    
por 21.01.2017 / 17:56