¿Es posible seguir un archivo binario desde el principio, a la tail -f
?
Esto es útil en algunos casos, por ejemplo, si estoy scp
transfiriendo un archivo a un servidor remoto y, al mismo tiempo, quiero enviarlo a otro proceso (sí, sé que puedo usar trucos ssh
+ cat
).
Por lo que he leído del FM, tail
está escrito teniendo en cuenta los archivos de texto.
¿Hay alguna manera simple de hacer tales operaciones usando herramientas posix estándar?
text-processing
tail
binary
Marcus
fuente
fuente
tail
solo se puede usar con archivos de texto?tail
que no siempre hacen frente a los archivos binarios: pueden ahogarse en bytes nulos u omitir bytes perdidos después de la última línea nueva en los archivos de entrada. Los sistemas modernos hacen frente.Respuestas:
tail
funciona con datos binarios tan bien como con texto. Si desea comenzar desde el principio del archivo, puede usarlotail -c +1 -f
.fuente
cat bin_file | strings - -o | grep match_string
, pero cuando lo hagotail -c +1 -f bin_file | strings - -o | grep match_string
, no obtengo nada más allá de la novena coincidencia. También noté que los números de línea de-o
todos son 1 menos en comparación con la salida de cat. Si dejo el grep apagado, obtengo los 16 partidos (mezclados con todo lo demás), así que pensé que el problema era grep, pero probé un perl one-liner y se detiene en el mismo lugar ...