バイナリファイルを最初から追跡するには(la "tail -f")


10

バイナリファイルを最初から追跡することは可能tail -fですか?

これはscp、ファイルをリモートサーバーに送信しているときに、別のプロセスにフィードしたい場合などに便利です(そう、私はssh+ catトリックを使用できることを知っています)。

私がFMから読む限り、tailテキストファイルを念頭に置いて書かれています。

標準のposixツールを使用してそのような操作を行う簡単な方法はありますか?


それはtailテキストファイルでのみ使用できるとどこに言っていますか?
rozcietrzewiacz

@rozcietrzewiacz古いユニックスでは、などのテキスト指向のユーティリティtailは常にバイナリファイルに対応していませんでした。入力ファイルの最後の改行の後、ヌルバイトが詰まったり、不要なバイトが省略されたりする場合があります。現代のシステムは対応しています。
Gilles「SO-悪をやめる」

回答:


12

tailテキストだけでなくバイナリデータでも機能します。ファイルの最初から始めたい場合は、を使用できますtail -c +1 -f


これは誰のためにも機能していませんか?使用cat bin_file | strings - -o | grep match_stringしたときに表示される文字列が16回出現するバイナリファイルがありますが、使用した場合tail -c +1 -f bin_file | strings - -o | grep match_string、9番目の一致を超えて何も得られません。また、からの行番号-oはすべてcatの出力と比較して1つ少ないことに注意してください。grepをオフのままにすると、16試合すべて(他のすべてと一致)が得られるため、問題はgrepだと思いましたが、perlワンライナーを試したところ、同じ場所で停止しました...
hepcat72
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.