STDIN 압축/압축 해제 도구

STDIN 압축/압축 해제 도구

STDIN을 압축하여 STDOUT으로 출력하는 도구가 있나요? 이 도구(또는 그에 상응하는 도구)도 압축을 풀 수 있어야 합니다. 간단한 것은 괜찮지만 손실이 없어야 합니다.

답변1

보관소

대부분의 유틸리티는 STDOUT으로의 출력을 지원합니다. 예를 들어 gzip:

$ echo "asdgasdfasdfasdfasdfasdfasdf" | gzip | xxd
00000000: 1f8b 0800 219b dd57 0003 4b2c 4e49 4f2c  ....!..W..K,NIO,
00000010: 4e49 c386 b900 45ce f97c 1d00 0000       NI....E..|....

xxd인쇄할 수 없는 문자를 사용했습니다 . 실행해서 gunzip압축을 푼다

xz

xz는 매우 유사하게 작동합니다.

$ echo "asdfasdfasdf" | xz | xxd
00000000: fd37 7a58 5a00 0004 e6d6 b446 0200 2101  .7zXZ......F..!.
00000010: 1600 0000 742f e5a3 e000 0c00 0b5d 0030  ....t/.......].0
00000020: 9cc8 abf9 a8be f900 0000 0000 9525 d79a  .............%..
00000030: 089a c592 0001 270d f37b f284 1fb6 f37d  ......'..{.....}
00000040: 0100 0000 0004 595a                      ......YZ

그리고 감압의 경우:

$ echo "asdfasdfasdf" | xz | xz -d
asdfasdfasdf

답변2

gzip이 작업을 수행. 에서 인용매뉴얼 페이지:

Gzip은 Lempel-Ziv 인코딩(LZ77)을 사용하여 지정된 파일의 크기를 줄입니다. 가능할 때마다 각 파일은 확장자를 가진 파일로 대체됩니다..gz, 동일한 소유권 모드, 액세스 및 수정 시간을 유지합니다. (기본 확장자는-gzVMS의 경우 z MSDOS, OS/2 FAT, Windows NT FAT 및 Atari의 경우. ) 파일을 지정하지 않거나 파일 이름이 "-"인 경우 표준 입력이 표준 출력으로 압축됩니다.. Gzip은 일반 파일만 압축하려고 시도합니다. 특히 심볼릭 링크는 무시됩니다.

물론 다른 사람들도 있습니다. 이는 Unix/Unix 계열 시스템에서 매우 일반적입니다.필터출력에 대한 표준 입력. "필터"라는 단어는 많은 가능성을 포괄합니다. 압축과 압축 해제는 그 중 일부에 불과합니다.

답변3

gzip네, ,,,,... 등 많이 있습니다.bzip2xz

cat testfile|gzip

압축된 stdin스트림은 stdout.

cat file.gz|gzip -d 

압축된 스트림의 압축을 풀고 stdin압축 해제 결과를 다음으로 출력합니다.stdout

옵션은 다를 수 있지만 다른 많은 압축 유틸리티에도 bzip2동일 하게 적용됩니다 . xz해당 man페이지를 확인하세요

관련 정보