Quando uso -k
, não recebo sufixos "M" e "G". Se você está recebendo sufixos, então você deve usar a sugestão de jeffatrackaid para fazer os tamanhos escalados para a mesma magnitude.
Existem várias maneiras de totalizar os valores. Aqui está um:
#!/bin/bash
filename=hostnames
# no need to clear the file, just move the output redirection to the end of the loop
# are you reading into an array to split the line (hostname would be in ${line[0]})?
while read -r -a line
do
hostname=${line//\"}
echo "$hostname:"
ssh -n -t -t "$hostname" "sudo find /export/home -type f -mtime +180 -size +250000k -exec du -hsk {} \;"
done < "$filename" | tee export_home.log | awk '{t += $1} END {print "grand total:", t}'
Se a sua versão de find
oferecer suporte, tente usar +
em vez de \;
- é mais rápido.
ssh -n -t -t "$hostname" "sudo find /export/home -type f -mtime +180 -size +250000k -exec du -hsk {} +"