stdinでfile://を読み取るようにアプリケーションをだますにはどうすればよいですか?

stdinでfile://を読み取るようにアプリケーションをだますにはどうすればよいですか?

ファイル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

あなたの質問は「パイプからカールを読む方法」です。答えは次のとおりです。パッチカールのソースコード


上記の例では、curl strace を分析すると、ファイルであるmmapことがわかります。mmapファイルがパイプの場合、ingは機能しません。カールが通常の呼び出しreadとシステムコールを使用している場合、writeカールとsyscallの間に違いはありません。これはIMOの方法です。<theTextFile.txt curl file:///dev/fd/0cat theTextFile.txt curl | file:///dev/fd/0

おすすめ記事