Estou a encontrar todos os sites na Web e não resolvo este problema quando o tamanho do ficheiro for superior a 4 GB.
primeiro, o que é mais rápido?
[oracle@base tmp]$ time zcat oracle.20180303.030001.dmp.tar.gz | wc -c
6667028480
real 0m45.761s
user 0m43.203s
sys 0m5.185s
[oracle@base tmp]$ time gzip -dc oracle.20180303.030001.dmp.tar.gz | wc -c
6667028480
real 0m45.335s
user 0m42.781s
sys 0m5.153s
[oracle@base tmp]$ time tar -tvf oracle.20180303.030001.dmp.tar.gz
-rw-r--r-- oracle/oinstall 111828 2018-03-03 03:05 oracle.20180303.030001.log
-rw-r----- oracle/oinstall 6666911744 2018-03-03 03:05 oracle.20180303.030001.dmp
real 0m46.669s
user 0m44.347s
sys 0m4.981s
definitivamente, tar -xvf é o mais rápido, mas
¿Como cancelar execuções depois de obter o cabeçalho?
minha solução é esta :
[oracle@base tmp]$ time echo $(timeout --signal=SIGINT 1s tar -tvf oracle.20180303.030001.dmp.tar.gz | awk '{print }') | grep -o '[[:digit:]]*' | awk '{ sum += } END { print sum }'
6667023572
real 0m1.029s
user 0m0.012s
sys 0m0.063s