Est-il possible de suivre un fichier binaire depuis le début, à la la tail -f
?
Ceci est utile dans certains cas, par exemple si je scp
crée un fichier sur un serveur distant, et en même temps je veux le nourrir dans un autre processus (oui, je sais que je peux utiliser ssh
+ cat
astuces).
Pour autant que je lis de la FM, tail
est écrit en gardant à l'esprit les fichiers texte.
Existe-t-il un moyen simple de faire de telles opérations en utilisant des outils posix standard?
text-processing
tail
binary
Marcus
la source
la source
tail
cela ne peut être utilisé qu'avec des fichiers texte?tail
qui ne prenaient pas toujours en charge les fichiers binaires: ils pouvaient s'étouffer sur des octets nuls ou omettre des octets parasites après la dernière nouvelle ligne dans les fichiers d'entrée. Les systèmes modernes font face.Réponses:
tail
fonctionne aussi bien avec des données binaires qu'avec du texte. Si vous souhaitez commencer au tout début du fichier, vous pouvez utilisertail -c +1 -f
.la source
cat bin_file | strings - -o | grep match_string
, mais quand je le faistail -c +1 -f bin_file | strings - -o | grep match_string
, je n'ai rien après la 9ème correspondance. J'ai également noté que les numéros de ligne de-o
sont tous inférieurs de 1 par rapport à la sortie cat. Si je laisse la grep désactivée, j'obtiens les 16 matchs (mélangés avec tout le reste), donc je pensais que le problème était grep, mais j'ai essayé un perl one-liner et il s'arrête au même endroit ...