ソケットからファイルにデータを転送しています。すべてのデータを保存する必要がある場合は、次のように簡単です。
$ nc -l 5001 > file.bin
最初のバイトだけを保存したい場合は、n
次のようになります。十分簡単さらに:
$ nc -l 5001 | pv -Ss 2M > file.bin
新しいデータが到着したら、キューのようにファイル内の古いデータを置き換えることができるように、最大サイズのファイルにデータをパイプする方法はありますか?そのようなものがある場合は、固定サイズの名前付きパイプを使用することもできます。
理想的には、すべてのファイルを保存してから切り取る必要なく継続的に実行されます。つまり、tail
単にファイル全体を保存して実行したくありません。
ベストアンサー1
n = 2Mの場合は、次を使用します。
nc -l 5001 | tail -c 2M > file.bin
または以下を使用してください。
nc -l 5001 | tail -c 2097152 > file.bin