내가 시도한 것 :
cat archive.rar | unrar x -
cat archive.rar | unrar x /dev/stdin
cat archive.rar | 7z x -
cat archive.rar | 7z x -si
cat archive.rar | 7z l -si
는 unrar
인식하지 못합니다 -
모두 파일 이름을 다음과 같이 말한다 Seek error in the file /dev/stdin
위한/dev/stdin
7z
불평하다 Error: : E_NOTIMPL
이것이 가능합니까? 다른 프로그램의 STDOUT에서 RAR 아카이브를 읽는 다른 도구가 있습니까?
(참고 : 물론 cat
여기는 단지 예일뿐입니다. 실제로 아카이브 파일을 사용 wget
하거나 이와 유사한 것을 검색 할 수 있지만 로컬이 아닙니다.)
답변
같은 FIFO는 (선입 선출) 스트림 /dev/stdin
시크하지 않고, 그 모두 분명히 무엇을 unrar
하고 7z
파일을 처리 할 수 있어야합니다 (예 : 달리 tar
와 gzip
스트림을 모두 작동하는지).
RAR 형식을 사용하고 stdout에서 스트리밍하는 것이 모두 중요하다면 RAR 형식이 스트림에서 전혀 작동하는지 먼저 조사합니다.
그렇지 않으면 해결 방법이 필요합니다. 다음과 같은 스크립트를 만들 수 있습니다.
#!/bin/bash
cat /dev/stdin > tmp.rar
unrar x tmp.rar
rm tmp.rar
그런 다음 다음과 같이 실행하십시오. cat archive.rar | ./script.sh
답변
아카이브에 비디오 파일이 포함 된 경우 VLC를 사용하여 압축을 해제 할 수 있습니다. 예를 들어 http를 통해 rar 아카이브를 압축 해제 할 수있었습니다.
vlc -I dummy http://www.example.com/archive.rar --sout="#duplicate{dst=std{access=file,mux=mp4,dst='file.mp4'}}"