실수

실수

왜 이것이 불가능합니까?

pv ${dest_file} | gzip -1

pv진행률 표시줄입니다

실수

gzip: compressed data not written to a terminal. Use -f to force compression.
For help, type: gzip -h
   0 B 0:00:00 [   0 B/s] [>                                   ]  0%

이게 효과가 있어

pv ${file_in} | tar -Jxf - -C /outdir

답변1

달성하려는 것은 압축 프로세스의 진행률 표시줄을 보는 것입니다. 하지만 사용은 불가능합니다 pv. 단지 전송 진행 상황을 보여줄 뿐입니다. 다음과 같이 할 수 있습니다(어쨌든 이것은첫 번째 링크Google에서):

pv input_file | gzip > compressed_file

진행률 표시줄이 빠르게 실행된 다음 를 사용하여 압축이 완료될 때까지 기다립니다 pv.

하지만 반대 방향으로 수행하여 pv압축 파일의 실제 크기를 알 수 없기 때문에 실제 진행 상황을 볼 수 없는 로봇의 출력 스트림을 볼 수 있습니다.

gzip <input_file | pv > compressed_file

지금까지 내가 찾은 것 중 최고는명령줄 푸속도 제한 및 디렉터리 압축을 사용하더라도:

$D=directory
tar pcf - $D | pv -s $(du -sb $D | awk '{print $1}') --rate-limit 500k | gzip > target.tar.gz

답변2

예, 바이트 대신 파일의 줄을 사용할 수 있습니다. 충분히 정확한 진행률 표시줄이 표시됩니다.

cat input_file | pv -ls $( wc -l input_file ) | gzip -c -- > compressed_file

답변3

가능한 경우 7z를 사용하여 매우 간단한 명령으로 진행률을 얻을 수 있습니다.

7z a spaCy.tar.gz spaCy.tar 

출력 예:

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,8 CPUs Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (906E9),ASM,AES-NI)

Open archive: spaCy.tar.gz
--
Path = spaCy.tar.gz
Type = gzip
Headers Size = 20

Scanning the drive:
1 file, 326451200 bytes (312 MiB)

Updating archive: spaCy.tar.gz

Items to compress: 1

 32% U spaCy.tar   

         

관련 정보