У меня есть файл с несколькими jpeg внутри. Поэтому я хотел бы разделить их на отдельные jpeg.awk split on hex string
Простая часть состоит в том, чтобы найти начало: 0xFF0xD8 0xFF0xE1
обозначает начало поля JPG и EXIF Data, которое в моем случае всегда в начале.
Так что я нашел эту команду AWK:
awk '/string/{n++}{print >"out" n ".txt" }' final.txt
Чтобы разделить файлы. Что не работает должным образом, когда я использую его с шестигранной:
awk '/0xFF0xD8 0xFF0xE1/{n++}{print >"out" n ".txt" }' final.txt
Док из AWK говорит, что все строки с 0x перед используются как гекса, но я, кажется, не работает хорошо ..
Редактировать: хорошо я нашел это: https://superuser.com/questions/174362/how-to-split-binary-file-based-on-pattern, но он не работает для меня ... он должен создать 2 файла, но только один из них создан и его только 11 байтов большой
'0x' является начало текстового представления шестнадцатеричного значения. Но если ваш файл двоичный, вы его не найдете. – mouviciel
Сохраняет ли JFIF эту последовательность в другом месте? –
no i does not, но я мог бы добавить несколько байтов в последовательность поиска, и это было бы достаточно для моей задачи. – reox