Ich schreibe ein Bash-Skript, das den Header (erste 10 Bytes) einer Datei bekommen muss und dann in einem anderen Abschnitt alles außer den ersten 10 Bytes. Dies sind Binärdateien und werden wahrscheinlich \0
's und \n
' s in den ersten 10 Bytes haben. Es scheint, als ob die meisten Dienstprogramme mit ASCII-Dateien arbeiten. Was ist ein guter Weg, um diese Aufgabe zu erfüllen?Wie bekomme ich nur die ersten zehn Bytes einer Binärdatei?
Antwort
Um die ersten 10 Bytes zu erhalten, wie bereits erwähnt:
head -c 10
Um alle bis auf die ersten 10 Bytes (zumindest mit GNU tail
) zu erhalten:
tail -c+11
head -c 10
macht das Richtige hier.
Es ist interessant, dass diese Antwort die erste war, ist richtig, aber die anderen haben viel mehr Upvotes. – robert
Sie können den Befehl dd
verwenden, um eine beliebige Anzahl von Bytes aus einer Binärdatei zu kopieren.
dd if=infile of=outfile1 bs=10 count=1
dd if=infile of=outfile2 bs=10 skip=1
Das funktioniert, aber es ist ziemlich langsam. Die BS von 10 tötet diese riesigen Dateien. Gibt es eine schnellere Möglichkeit, die ersten zehn Bytes zu überspringen? Es scheint so einfach zu sein. – User1
- 1. Wie bekomme ich die magische Nummer einer Binärdatei?
- 2. Wie werden die ersten zehn Datensätze aus einem DataView übernommen?
- 3. Wie bekomme ich die letzten 16 Bytes aus der Binärdatei mit Perl?
- 4. Durchsuchen einer Sequenz von Bytes in einer Binärdatei in PHP?
- 5. Ich machte ein Python-Programm, das die ersten zehn vollkommenen Quadrate ausdruckt, aber nur eins erscheint
- 6. Wie bekomme ich die ersten X-Elemente?
- 7. Wie bekomme ich die rohen Bytes der Anfrage in WCF?
- 8. httpclient 4 wie bekomme ich Bytes
- 9. wie die Zeit des ersten Bytes zu reduzieren
- 10. Entfernen Sie die ersten 16 Bytes?
- 11. Wie bekomme ich die Bytes pro Sekunde in einem Download?
- 12. Wie bekomme ich die Bildgröße in Bytes mit Javascript
- 13. Wie bekomme ich nur die Abfragezeichenfolge in einer Rails-Route?
- 14. Kopieren von einer Binärdatei mit Python fügt neue Bytes (?)
- 15. MATLAB: Beide Bytes einer vorzeichenlosen 16-Bit-Binärdatei lesen
- 16. SQL - Wie bekomme ich nur die Nachkommastellen?
- 17. Update nur Teil einer Binärdatei mit C++
- 18. Wie kann ich öffnen(), um Bytes am Anfang einer Binärdatei zu überspringen?
- 19. Wie bekomme ich ein Attribut vom ersten einer has_many-Assoziation?
- 20. Wie bekomme ich die ersten 10 sortierten Artikel einer Liste, ohne die ganze Liste zu sortieren
- 21. Wie bekomme ich den ersten Video Frame?
- 22. wie erstes X Bytes aus Binärdatei in Python zu lesen
- 23. Wie drucke ich die ersten n Bytes, wenn die Länge der Zeichenfolge größer als n ist?
- 24. Decodierung der ersten 8K Bytes aus einer binaryNotation Zeichenfolge Eingabe
- 25. Wie Debuggen einer C# Binärdatei
- 26. Wie bekomme ich die ersten X-Elemente einer unbekannten Größe NSArray?
- 27. Wie bekomme ich nur die erforderliche Tabelle von Excel-Blatt
- 28. Python - bis auf die nächsten zehn Runden
- 29. Wie kann ich die Bytes einer GetObjectResponse von S3 bekommen?
- 30. Wie kann ich die letzten zehn Zeilen in einer Mysql-Datenbanktabelle abrufen?
Ja. Ich mochte die Idee "dd", aber diese Option erfordert keine Änderung der Puffergröße, so dass es gut mit großen Dateien funktioniert. Vielen Dank. – User1