STDIN을 무효화하는 방법?


2

내가 시도한 것 :

  1. cat archive.rar | unrar x -
  2. cat archive.rar | unrar x /dev/stdin
  3. cat archive.rar | 7z x -
  4. cat archive.rar | 7z x -si
  5. cat archive.rar | 7z l -si

unrar인식하지 못합니다 -모두 파일 이름을 다음과 같이 말한다 Seek error in the file /dev/stdin위한/dev/stdin

7z 불평하다 Error: : E_NOTIMPL

이것이 가능합니까? 다른 프로그램의 STDOUT에서 RAR 아카이브를 읽는 다른 도구가 있습니까?

(참고 : 물론 cat여기는 단지 예일뿐입니다. 실제로 아카이브 파일을 사용 wget하거나 이와 유사한 것을 검색 할 수 있지만 로컬이 아닙니다.)

답변:


4

같은 FIFO는 (선입 선출) 스트림 /dev/stdin시크하지 않고, 그 모두 분명히 무엇을 unrar하고 7z파일을 처리 할 수 있어야합니다 (예 : 달리 targzip스트림을 모두 작동하는지).

RAR 형식을 사용하고 stdout에서 스트리밍하는 것이 모두 중요하다면 RAR 형식이 스트림에서 전혀 작동하는지 먼저 조사합니다.

그렇지 않으면 해결 방법이 필요합니다. 다음과 같은 스크립트를 만들 수 있습니다.

#!/bin/bash
cat /dev/stdin > tmp.rar
unrar x tmp.rar
rm tmp.rar

그런 다음 다음과 같이 실행하십시오. cat archive.rar | ./script.sh


0

아카이브에 비디오 파일이 포함 된 경우 VLC를 사용하여 압축을 해제 할 수 있습니다. 예를 들어 http를 통해 rar 아카이브를 압축 해제 할 수있었습니다.

vlc -I dummy http://www.example.com/archive.rar --sout="#duplicate{dst=std{access=file,mux=mp4,dst='file.mp4'}}"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.