#linux #file #archive #binaryfiles #ear
#linux #файл #Архив #двоичные файлы #ear
Вопрос:
У меня есть .ear
файл (архивный файл типа tar / zip), внутри которого есть файл, который я хочу изменить.
Например, myfile.ear
содержит 1.txt
, и я хочу изменить 1.txt
на 2.txt
и, возможно, также изменить часть содержимого внутри 1.txt
(как sed
делает)
Я действительно хочу избежать необходимости извлекать myfile.ear
, изменять файл и сжимать его снова.
Кто-нибудь знает способ добиться этого в Linux?
И если это невозможно, я также хотел бы знать, почему
Спасибо.
Ответ №1:
Файлы EAR — это просто JAR-файлы, которые являются просто ZIP-файлами. Формат ZIP, IIRC, содержит метаданные и данные, чередующиеся, поэтому изменение одного файла (который может быть больше / меньше файла, который он заменяет) может не поместиться (или оставить пробел), поэтому на практике файл должен быть перезаписан при внесении изменений.
Комментарии:
1. возможно ли затем извлечь только определенный файл, изменить его и поместить обратно снова? или мне нужно все заново сжать?
2. Любая ZIP-утилита, которую я когда-либо использовал, воссоздает архив с подобными изменениями.