ㅏ파일 URI 체계로컬에 저장된 파일의 URI를 지정할 수 있습니다 file:///home/demo/sample
.
지정하는 데 사용할 수 있습니까 stdin
?
예를 들어 CURL을 사용하면 다음과 같습니다.
curl file:///home/demo/sample
파일의 내용을 표시합니다.
echo "Hello" | curl file:///dev/fd/0
주어진빈 결과, "Hello"를 표시하고 싶습니다. 덧붙여서:
echo "Hello" | cat /dev/fd/0
실제로 출력에 "Hello"가 표시됩니다.
file://
target 뒤에 무엇을 넣어야 하나요 stdin
?
배경: 노력 중이에요스포츠HTTP URI 또는 로 지정된 파일에서 데이터를 읽을 수 있지만 file://
, 여기에서 직접 비디오 스트림을 읽을 수 있는 옵션은 없는 것 같습니다 stdin
.관련된 질문거의 2년 전에 제기된 질문에 대한 답변은 단 한 번도 없습니다.) 나는 응용 프로그램이 파일을 읽고 있다고 생각하도록 속일 수 있기를 원합니다. 실제로는 ffmpeg
.
답변1
curl file:///dev/fd/0
curl
파일 설명자 0( )에서 읽는 올바른 방법입니다 stdin
.
읽을 수 있는 텍스트 파일을 얻으려면 다음을 실행하십시오.
<theTextFile.txt curl file:///dev/fd/0
그것은 동일하게 작동해야 합니다 cat
.
귀하의 질문은 "파이프에서 컬을 읽는 방법"입니다. 대답은 다음과 같습니다.패치 컬의 소스 코드.
위 예시에서 컬 strace를 분석해 보면 mmap
파일임을 알 수 있습니다. mmap
파일이 파이프이면 ing이 작동하지 않습니다. 컬이 일반 호출 read
과 시스템 호출을 사용하는 경우 write
컬과 syscall 사이에 차이가 없습니다. 이는 IMO의 방식입니다.<theTextFile.txt curl file:///dev/fd/0
cat theTextFile.txt curl | file:///dev/fd/0