Como calcular o tamanho total dos arquivos a partir de uma lista delimitada de nova linha armazenada na variável?

0

Estou tentando criar um script do Nemo que calcule o tamanho total do arquivo dos arquivos selecionados e passe para o restante do script.

Ele está usando a variável de ambiente NEMO_SCRIPT_SELECTED_FILE_PATHS que o próprio Nemo define quando alguns arquivos são selecionados.

O problema é que a variável contém uma nova linha de caminhos separados e nomes de arquivos e eu não sei como lidar com eles.

Alguma idéia?

Edit: o que eu recebo se faço eco do conteúdo da variável em um arquivo é, por exemplo: /home/sasa/Pictures/1041247.png /home/sasa/Pictures/849611447.jpg /home/sasa/Pictures/IO2.jpg

que se parece mais com espaço do que com nova linha delimitada.

    
por S.R. 13.05.2018 / 17:18

1 resposta

1

Você pode usar du :

du -c $(echo "$VAR")

Isso não funcionará quando os nomes dos arquivos contiverem espaços.

Use isto:

while IFS= read -r f; do
    du "$f";
done < <(echo "$VAR") \
| grep -o "^[0-9]*" \
| paste -sd+ | bc
    
por RoVo 14.05.2018 / 14:04