Я делаю файл myfile.txt в zip-файле с помощью команды ниже, есть ли способ получить исходный размер файла 'myfile.txt', не распаковывая его.
tar -czf myfile.tar.gz myfile.txt
Чтобы получить несжатый размер ZIP-файла, мы можем выпустить gzip с опцией --list или -l
gzip -l mytext.txt.tar.gz
. Это даст результат, подобный этому
gzip -l mytext.txt.tar.gz
compressed uncompressed ratio uncompressed_name
1475 4608 68.4% mytext.txt.tar
Чтобы иметь сжатый размер файла, несжатый размер и коэффициент сжатия.
Чтобы получить несжатый размер ZIP-файла, мы можем выпустить gzip с опцией --list или -l
gzip -l mytext.txt.tar.gz
. Это даст результат, подобный этому
gzip -l mytext.txt.tar.gz
compressed uncompressed ratio uncompressed_name
1475 4608 68.4% mytext.txt.tar
Чтобы иметь сжатый размер файла, несжатый размер и коэффициент сжатия.
Чтобы получить несжатый размер ZIP-файла, мы можем выпустить gzip с опцией --list или -l
gzip -l mytext.txt.tar.gz
. Это даст результат, подобный этому
gzip -l mytext.txt.tar.gz
compressed uncompressed ratio uncompressed_name
1475 4608 68.4% mytext.txt.tar
Чтобы иметь сжатый размер файла, несжатый размер и коэффициент сжатия.
Вы можете указать содержимое (включая исходные размеры файла) файла tar, используя:
tar -vtf myfile.tar.gz
Если вы хотите только myfile.txt:
tar -vtf myfile.tar.gz myfile.txt
Это только работает, если вы добавляете полный путь к файлу, в противном случае используйте:
tar -vtf myfile.tar.gz | grep myfile.txt
Обратите внимание, что tar должен будет распаковать архив, чтобы получить информацию о файле. Это, однако, скроет это от вас.
Если вам определенно нужен способ получить метаданные файла без необходимости распаковывать весь архив, вам лучше использовать zip для хранения ваших файлов и каталогов. Zip использует «центральный каталог» в конце zip-файла, который хранит все метаданные файлов.
Я нахожу все сайты в Интернете и не решу эту проблему получить размер, когда размер файла больше 4 ГБ.
сначала, что быстрее?
[ f1] [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Определенно, tar -xvf является самым быстрым, но ¿как отменить выполнение после заголовка заголовка?
tar -xvf : [ ! d4] [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.029s user 0m0.012s sys 0m0.063s
Вы можете указать содержимое (включая исходные размеры файла) файла tar, используя:
tar -vtf myfile.tar.gz
Если вы хотите только myfile.txt:
tar -vtf myfile.tar.gz myfile.txt
Это только работает, если вы добавляете полный путь к файлу, в противном случае используйте:
tar -vtf myfile.tar.gz | grep myfile.txt
Обратите внимание, что tar должен будет распаковать архив, чтобы получить информацию о файле. Это, однако, скроет это от вас.
Если вам определенно нужен способ получить метаданные файла без необходимости распаковывать весь архив, вам лучше использовать zip для хранения ваших файлов и каталогов. Zip использует «центральный каталог» в конце zip-файла, который хранит все метаданные файлов.
Я нахожу все сайты в Интернете и не решу эту проблему получить размер, когда размер файла больше 4 ГБ.
сначала, что быстрее?
[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Определенно, tar -xvf является самым быстрым, но ¿как отменить выполнение после заголовка заголовка?
tar -xvf : [ ! d4] [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.029s user 0m0.012s sys 0m0.063s
Вы можете указать содержимое (включая исходные размеры файла) файла tar, используя:
tar -vtf myfile.tar.gz
Если вы хотите только myfile.txt:
tar -vtf myfile.tar.gz myfile.txt
Это только работает, если вы добавляете полный путь к файлу, в противном случае используйте:
tar -vtf myfile.tar.gz | grep myfile.txt
Обратите внимание, что tar должен будет распаковать архив, чтобы получить информацию о файле. Это, однако, скроет это от вас.
Если вам определенно нужен способ получить метаданные файла без необходимости распаковывать весь архив, вам лучше использовать zip для хранения ваших файлов и каталогов. Zip использует «центральный каталог» в конце zip-файла, который хранит все метаданные файлов.
Я нахожу все сайты в Интернете и не решу эту проблему получить размер, когда размер файла больше 4 ГБ.
сначала, что быстрее?
[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Определенно, tar -xvf является самым быстрым, но ¿как отменить выполнение после заголовка заголовка?
tar -xvf : [ ! d4] [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.029s user 0m0.012s sys 0m0.063s