Есть ли какая-нибудь утилита unshar для windows? - PullRequest
0 голосов
/ 13 июля 2009

Время от времени мне нужно извлекать содержимое файла shar.

И мне нужно подождать, чтобы получить доступ к окну * nix для получения файлов. И мне было интересно, есть ли утилита unshar для Windows.

Я могу установить пакет cygwin, но я думаю, что это слишком много для извлечения файлов время от времени.

Ответы [ 3 ]

2 голосов
/ 13 июля 2009

есть shareutils (GNU) для Windows здесь

1 голос
/ 13 июля 2009

Shar-файл - это SHell ARchive . От Проект документации Linux - страница с файлами и архивами ,

Утилита архивирования оболочки. Текстовые файлы в архиве оболочки объединяются без сжатия, и результирующий архив по сути представляет собой сценарий оболочки, содержащий заголовок #! / Bin / sh , содержащий все необходимые команды разархивирования, а также файлы самих себя. Архивы Shar по-прежнему отображаются в группах новостей Usenet, но в остальном shar был заменен на tar / gzip. Команда unshar распаковывает архивы shar.

Команда mailshar - это скрипт Bash, который использует shar для объединения нескольких файлов в один для отправки по электронной почте. Этот скрипт поддерживает сжатие и uuencoding.

Мне нравится 7-zip , но я не уверен, что он может обработать файл shar; проверим, если это возможно.
Но, поскольку это архив, прикрепленный к сценарию оболочки,
тебе нужно,

  1. вырезать часть архива
    • распознает формат архива
    • используйте соответствующий инструмент для извлечения файла (для этого отлично подойдет 7-zip)

И для этого есть метод Perl .

Посмотрите на Как работают бинарные установщики Linux (.bin, .sh)? , чтобы узнать больше об этом.


Пока я говорю о linux и инструментах, вам действительно не нужна среда Unix.
Perl доступен на многих платформах - посмотрите, например, ActivePerl .
Вы можете использовать простые установки Cygwin , UnixUtils или аналогичные инструменты на вашей платформе Windows.
И 7-zip доступен на всех этих платформах - это лучшая часть 7-zip.

0 голосов
/ 16 июля 2009

Может быть, есть какие-нибудь утилиты unshar, потому что это все равно что делать интерпретатор оболочки.

но я решил свою проблему, написав небольшой Perl-скрипт, который извлекает файлы с использованием шаблона cat или sed и игнорирует все остальное.

...