
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
, 동일한 소유권 모드, 액세스 및 수정 시간을 유지합니다. (기본 확장자는-gz
VMS의 경우 z MSDOS, OS/2 FAT, Windows NT FAT 및 Atari의 경우. ) 파일을 지정하지 않거나 파일 이름이 "-"인 경우 표준 입력이 표준 출력으로 압축됩니다.. Gzip은 일반 파일만 압축하려고 시도합니다. 특히 심볼릭 링크는 무시됩니다.
물론 다른 사람들도 있습니다. 이는 Unix/Unix 계열 시스템에서 매우 일반적입니다.필터출력에 대한 표준 입력. "필터"라는 단어는 많은 가능성을 포괄합니다. 압축과 압축 해제는 그 중 일부에 불과합니다.
답변3
gzip
네, ,,,,... 등 많이 있습니다.bzip2
xz
cat testfile|gzip
압축된 stdin
스트림은 stdout
.
cat file.gz|gzip -d
압축된 스트림의 압축을 풀고 stdin
압축 해제 결과를 다음으로 출력합니다.stdout
옵션은 다를 수 있지만 다른 많은 압축 유틸리티에도 bzip2
동일 하게 적용됩니다 . xz
해당 man
페이지를 확인하세요