Diferença na soma da saída de pacsysclean vs. expac usando awk?

1

Estou tentando ver se consigo aprender algo mais sobre o uso do disco na minha configuração - no que diz respeito aos pacotes instalados (todos). Então, eu estou olhando para o Arch Dicas do Pacman sobre manutenção . Primeiro eu tento:

expac -HM -s "%-30n %m" | awk '{s+=$2} END {print s}'
3785.87 (Mb)

Eu sei que isso é certo. Então eu tento:

pacsysclean | awk '{s+=$1} END {print s}'
151634

Os dois comandos antes do operador de pipe com wc -l geram o mesmo número de pacotes. Qual é esse número de saída em pacsysclean ? Eu usei mal o awk de alguma forma aqui? Eu tentei uma atribuição opcional antes do comando, ou seja, LC_ALL="C" command para ter certeza de que não estava relacionado ao meu locale . O resultado é idêntico.

    
por jus cogens prime 21.11.2014 / 08:23

1 resposta

1

Não, você não usou mal o awk; é mais um caso de (levemente) uso incorreto de pacsysclean .

expac é explicitamente projetado para extrair e analisar dados alpm : os resultados que você vê são precisos.

pacsysclean não é realmente interpretável, ele simplesmente classifica os pacotes pelo tamanho instalado. Como resultado, o tamanho da unidade muda entre MiB e KiB quando o tamanho do pacote passa desse limite, consequentemente, awk soma a coluna de inteiros indiscriminadamente.

Cole com expac para análise e pacsysclean para uma classificação rápida.

    
por 21.11.2014 / 08:40

Tags