2015-12-27 20 views
1

Я объединил два файла в андроиде, с помощью этой команды LinuxСплит два файла

кота file1.png file2.zip> file3.png

Как я могу снова разделить два файл? Я просто нужно, чтобы zip-файл извлекался отдельно.

Есть ли какая-либо конкретная команда я попробовал эти коды:

распакуйте file3.png

Заменено PNG с молнией:

распакуйте file3.zip

, но никто из них не работает. Единственное приложение, с помощью которого я могу открыть комбинацию, это WinRar на окнах

А также я попытался несколько распаковки и unraring приложения на андроид, но ни один из них не работают, кроме RAR приложение по RARLAB

Есть ли источник те приложения, о которых я говорил, чтобы распаковать/распаковать файл?

+1

'cat' не застегивает файлы, он присоединяет их вместе. Winrar в Windows, вероятно, работает, потому что он распознает границы файлов. –

+0

@ cricket_007. I konw, мой файл 2 - это zip-файл, и winrar может его открыть. Я надеялся, что команда unzip также откроет его. – pooyathr

ответ

0

Строго говоря: нет способа.

Вы можете найти PK 0x04 0x03 в качестве разделителя в ответе выше, но у вас нет гарантии, что эта последовательность символов не будет отображаться в данных изображения файла file1.png.

Все вместе это забавный вопрос. Если вы хотите разделить файлы, как это, регулярно пересматривайте свою стратегию. Если вам нужно исправить однократную ошибку или что-то еще, вы можете разделить поиск разделителя и быть в порядке в более чем 99% случаев.

+0

Как насчет открытия с помощью winrar? Как winrar открывает zip-файл? – pooyathr

0

Что нужно знать о том, что файлы PNG начинаются с шестнадцатеричного значения 0x89, за которым следует текст PNG. Почтовые файлы начинаются с PK 0x04 0x03. Вы можете написать утилиту, которая считывает файл и выводит байты в новый файл, используя новый выходной файл, когда обнаруживается определенная сигнатура файла.

Для одного решения вы можете использовать vim, хотя вы должны быть осторожны, чтобы остановить vim от добавления символа новой строки до конца строки.

Скопируйте файл ввода для безопасности

cp file3.png f1 
cp file3.png f2 

vim -b f1 

и типа ВИМ

:set noeol 

поиск начала архива

/PK 

проверки, что последовательность найденное PK^C^D , Если нет, найдите следующий матч.

Удалить конец строки из PK с

d$ 

Переместить вниз линию, удалите оставшуюся часть файла и сохранить

j 
:.,$ d 
ZZ 

Аналогично, удалить верхнюю часть файла f2 для получения zip-файла.

Примечание: не называйте f2 как f2.zip, потому что vim достаточно умен, чтобы открыть это как zip-файл, который здесь не тот, который вы хотите.

0

Я не уверен, что вы пытаетесь выполнить, «скрывая» zip-файл в PNG, но если вы пытаетесь создать один файл, который может открыть Winrar, это странный способ сделать это.

Вы не делаете файл .zip (или любой другой тип архива) при cat файлах в начале или в конце zip-файла. Это просто добавляет два двоичных файла вместе.

Причина, по которой winrar может открыть ваш «комбинированный» двоичный файл, состоит в том, что он, скорее всего, распознает заголовки файлов и может расшифровать, у вас есть 2 файла.

Предлагаю вам ознакомиться с использованием zip-команды, как для добавить файлов в архив. Я быстрейшего поиска показывал, например

zip -rv zipfile.zip newfile.txt 

Будет добавлять newfile.txt в zipfile.zip.