Check the total content size of a tar gz file

后端 未结 7 1270
醉话见心
醉话见心 2020-12-23 19:00

How can I extract the size of the total uncompressed file data in a .tar.gz file from command line?

7条回答
  •  星月不相逢
    2020-12-23 19:39

    I'm finding everything sites in the web, and don't resolve this problem the get size when file size is bigger of 4GB.

    first, which is most faster?

    [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
    

    definitely, tar -xvf is the most faster, but ¿how to cancel executions after get header?

    my solution is this:

    
    [oracle@base tmp]$  time echo $(timeout --signal=SIGINT 1s tar -tvf oracle.20180303.030001.dmp.tar.gz | awk '{print $3}') | grep -o '[[:digit:]]*' | awk '{ sum += $1 } END { print sum }'
        6667023572
    
        real    0m1.005s
        user    0m0.013s
        sys     0m0.066s
    
    

提交回复
热议问题