Универсальный инструмент для разархивирования командной строки на Mac

17

Есть ли инструмент командной строки, который позволяет извлекать файлы из большинства известных типов архивов ? Что-то вроде StuffIt Expander, но без графического интерфейса.

салить
источник

Ответы:

15

Начиная с версии 2.5 в Unarchiver есть две утилиты командной строки:

Поддерживаемые форматы файлов включают Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt и многие другие более и менее неясные форматы. [..] Если у вас есть сжатый файл, который Unarchiver не открывает, пожалуйста, опубликуйте сообщение об ошибке на трекере ошибок и включите этот файл, и я посмотрю, можно ли добавить поддержку для него!

[..]

Теперь доступны две утилиты командной строки, unarи lsar, которые можно использовать для распаковки и вывода списка архивов соответственно. Они все еще находятся в разработке и не полностью функциональны, но они должны работать. Они доступны в виде предварительно скомпилированных двоичных файлов для OS X и Windows на странице загрузки , а также могут быть построены на Linux.

Чтобы загрузить инструменты командной строки (не входит в стандартную загрузку Unarchiver!), Перейдите на страницу загрузки кода Google для проекта и выберите unar0.2.zip(работает с 20 сентября 2010 г.).

Даниэль Бек
источник
Ницца! И он поддерживает много форматов, как и просили.
Арьян
1
Я не могу найти CLI там.
Тиг
1
tig: Вы имеете в виду, что вы не смогли нажать на «страницу загрузки» во втором абзаце, который Арджан цитировал выше, и на «unar0.2.zip» там? Потому что у меня это нормально работает.
Даниэль Бек
@tig, перейдя по ссылке, на которую ссылается Дэниел, см. «Утилиты командной строки unar0.2.zip, unar и lsar для Mac OS X 0.2 (бета-версия)». Да, странно, что создатель unzip-программного обеспечения распространяет свое собственное программное обеспечение в формате zip. ;-) После распаковки есть небольшая помощь в использовании ./unar --helpи./lsar --help
Arjan
добавил информацию для скачивания к ответу
Даниэль Бек
4

Попробуйте 7-Zip . Помимо собственного собственного формата (.7z) он может обрабатывать следующие расширения: ZIP, gzip, bzip2, tar и, в бета-версиях для версии 9, xz. Он также может распаковывать (только) в следующих форматах: ARJ, CAB, CHM, cpio, DEB, DMG, HFS, ISO, LZH, LZMA, MSI, NSIS, RAR, RPM, UDF, WIM, XAR и Z.

Версия для командной строки Windows 7za.exeвключена. Для других платформ названная версия POSIX p7zipдоступна из проекта P7ZIP SourceForge , и некоторые из этих портов также связаны со страницы загрузки 7-Zip . К сожалению, ссылка на Mac кажется неработающей, поэтому для OS X либо соберите ее самостоятельно, либо используйте MacPorts .

РЕДАКТИРОВАТЬ: Для не-Windows версий перейдите на страницу загрузки. Там вы можете найти исходные тексты, а также предварительно скомпилированные двоичные файлы.

Джо Касадонте
источник
Только винда, насколько я знаю. Вопрос требует инструментов командной строки для Mac.
Арьян
4
@Arjan: нашел POSIX версию p7zip и там есть macport для нее
tig
@tig, я слил твой комментарий в ответ Джо. Тем не менее, я не знаю, p7zipподдерживает ли все форматы 7-Zip. Если кто-то знает о бинарной ссылке для скачивания, сообщите нам.
Арьян
К сожалению, p7zip не полностью обрабатывает архивы, созданные на Mac (со специально именованными файлами, в которых хранятся вилки и другие дополнительные материалы)
tig
4

Если вы используете Homebrew , вы можете установить atoolи распаковать множество типов архивов, например:

brew install atool
atool -x archive.anything

Предполагая, что соответствующие внешние программы доступны в вашей системе, она может обрабатывать:

.tar.gz, .tgz, .tar.bz, .tbz, .tar.bz2, .tbz2, .tar.Z, .tZ, .tar.lzo, .tzo, .tar.lz, .tlz, .tar.xz, .txz, .tar.7z, .t7z, .tar, .zip, .jar, .war, .rar, .lha, .lzh, .7z, .alz, .ace, .a, .arj, .arc, .rpm, .deb, .cab, .gz, .bz, .bz2, .gz, .bz, .bz2, .Z, .lzma, .lzo, .lz, .xz, .rz, .lrz, .7z,.cpio

atool скрипт для управления файловыми архивами различных типов (tar, tar + gzip, zip и т. д.)

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

Другие команды: apack(для создания архивов), als(для acatвывода списка файлов в архивах) и (для извлечения файлов в стандартный формат). Поскольку atoolдля обработки архивов вызываются внешние программы, не все команды могут поддерживаться для определенного типа архивов.

atoolидентифицирует архивы по расширению файла. Иногда это невозможно - например, архивы rar обычно имеют различные числовые расширения файлов. В тех случаях, когда atoolне удается определить формат, fileиспользуется вместо этого. ( atoolможно настроить, чтобы не использовать файл.)

deizel
источник
1
Он также доступен через macports не только через homebrew, но его также можно собрать из исходного кода
tig
MacPorts:sudo port install atool
ab77
4

Вы можете использовать brew install unarили, brew install atoolа затем:

unar archive.gz
# or
atool -x archive.gz
Дориан
источник
«Вы не можете голосовать за свой пост»: D
Дориан
2

Для типов сжатия и архивации, которые Mac OS X знает изначально, вы можете просто использовать их open, и она вызовет «Утилиту архивирования» (ранее BOMArchiveHelper), точно так же, как если бы вы дважды щелкнули по ней из Finder. Это работает для [pk] zip, gzip, bzip, bzip2, tar, pax, cpio, compress (.Z) и т. Д. И т. Д.

Если у вас установлены приложения, которые знают, как разархивировать другие форматы, и они зарегистрированы для этих расширений или magic(5)значений файлов , то openкоманда запустит эти приложения для обработки этих типов. Конечно, вы, вероятно, окажетесь в графическом интерфейсе этих приложений.

Spiff
источник
1
Это то, что я сейчас использую, но у него есть некоторые недостатки: я не могу указать такие параметры, как извлечение в определенную папку, окно приложения выдается (даже если я его запускаю -g, оно все еще находится под самым передним окном)
tig