Czy od samego początku można śledzić plik binarny, la tail -f
?
Jest to przydatne w niektórych przypadkach, na przykład, gdy scp
przesyłam plik do zdalnego serwera, a jednocześnie chcę go przesłać do innego procesu (tak, wiem, że mogę użyć ssh
+ cat
lew).
O ile czytam z FM, tail
jest napisane z myślą o plikach tekstowych.
Czy istnieje prosty sposób wykonywania takich operacji przy użyciu standardowych narzędzi POSIX?
text-processing
tail
binary
Marcus
źródło
źródło
tail
można go używać tylko z plikami tekstowymi?tail
nie zawsze radziły sobie z plikami binarnymi: mogą dławić się na bajtach zerowych lub pomijać bajty zbłąkane po ostatniej nowej linii w plikach wejściowych. Nowoczesne systemy sobie z tym radzą.Odpowiedzi:
tail
działa zarówno z danymi binarnymi, jak i tekstem. Jeśli chcesz zacząć od samego początku pliku, możesz użyćtail -c +1 -f
.źródło
cat bin_file | strings - -o | grep match_string
, ale kiedy to robiętail -c +1 -f bin_file | strings - -o | grep match_string
, nic nie osiągam po 9. dopasowaniu. Zauważyłem również, że wszystkie numery linii-o
są o 1 mniejsze w porównaniu do wyjścia kota. Jeśli zostawię grep wyłączony, dostanę wszystkie 16 dopasowań (pomieszane ze wszystkim innym), więc pomyślałem, że problemem jest grep, ale wypróbowałem perl-one-liner i zatrzymuje się w tym samym miejscu ...