Befehl oder Skript zum Lesen einer Binärdatei und Überspringen einiger Bytes alle X Bytes

Befehl oder Skript zum Lesen einer Binärdatei und Überspringen einiger Bytes alle X Bytes

Ich versuche, einen Android-Shell-Befehl zu finden, der eine Datei lesen kann, aber die Möglichkeit hat, beispielsweise alle 1024 Bytes 512 Bytes zu überspringen.

Gibt es einen solchen Befehl und ist er für Android-Geräte verfügbar?

Ich habe mir angesehenddDokumentation, konnte aber nicht herausfinden, ob es möglich ist, dd für diesen Zweck zu verwenden. Sie können dd dazu bringen, Bytes am Anfang der Datei zu überspringen, Sie können es X Bytes aus einer Datei lesen lassen, aber ich weiß nicht, wie ich die von mir beschriebene Funktion bekomme.

BEARBEITEN:

Für meinen Zweck sollte der Befehl/das Skript auf stdout ausgeben, und die Verarbeitung wird die Ausgabe wie einen Stream lesen, also wird esnichtsei so etwas wie„cat eine Datei, führe eine Verarbeitung durch, cat eine Datei“. Es ist wie„while true; führe eine Cat-Datei aus; fertig | Verarbeitung“.

Die Liste der verfügbaren Befehle finden Sie hier:http://www.busybox.net/downloads/BusyBox.html

Antwort1

Hmm, das ist interessant. So etwas wäre möglicherweise machbar, aber ich habe es nicht geschafft, es genau so zum Laufen zu bringen.

while head -c 1536; do
    head -c 1024
    dostuff
done

cat file | superawesomescript

Das hier scheint mir eindeutiger, aber ich habe es nicht getestet:

Skript:

mkfifo fifo
while dd bs=1b count=1536 of=fifo; do
    head -c 1024 fifo | processing
done
unlink fifo

verwandte Informationen