Reputation: 47
I have a problem with checking uncompressed size from archive tar.xz without extract whole archive. I know that for tar.gz I can use gzip or zcat but for tar.xz it dosnt work.
Any sugestion how to do this ?
Upvotes: 3
Views: 2941
Reputation: 156
Building on the answer from Lucas, you can use the --robot
flag to xz
to script this cleanly:
uncomp_size=$(xz --robot --list "${local_file}" | grep ^totals | cut -f5)
Upvotes: 1
Reputation: 197
xz -l file.xz
will give you the compressed/uncompressed sizes of the archive in a human-readable way (KiB MiB suffixes) without actually decompressing (no CPU or disk load). It won't list the files inside the tar archive, though.
xz -lv file.xz
is verbose, and you can filter it to get the exact sizes in bytes.
Upvotes: 5
Reputation: 977
tar tvfa <file>
will give you a list including file sizes. Check man tar
for details. You should also note, that file size does not equate to disk usage, since part of a file can take a full file system block.
Upvotes: 3