0

有时我需要提取 shar 文件的内容。

我需要等待才能访问 *nix 框来获取文件。我想知道是否有适用于 Windows 的 unshar 实用程序。

我可以安装 cygwin 软件包,但我认为这对于不时提取文件来说太过分了。

4

3 回答 3

2

这里有适用于 Windows 的 shareutils (GNU)

于 2009-07-13T04:49:14.290 回答
1

shar 文件是一个SHell ARchive文件。从Linux 文档项目 - 文件和归档页面

Shell 归档实用程序。shell 存档中的文本文件在没有压缩的情况下连接在一起,生成的存档本质上是一个 shell 脚本,带有#!/bin/sh标头,包含所有必要的取消存档命令以及文件本身。Shar 档案仍然显示在 Usenet 新闻组中,但除此之外, shar 已被 tar/gzip 取代。unshar 命令解压缩 shar 档案。

mailshar 命令是一个 Bash 脚本,它使用 shar 将多个文件连接成一个用于电子邮件发送。此脚本支持压缩和 uuencoding。

我喜欢7-zip,但我不确定它是否可以处理 shar 文件;如果可能会检查。
但是,由于它是附加到 shell 脚本的存档,因此
您需要,

  1. 删掉存档部分
    • 识别存档格式
    • 使用相应的工具来提取文件(7-zip 应该可以正常工作)

而且,有一种 Perl技术可以做到这一点

查看Linux 二进制安装程序(.bin、.sh)如何工作?更多关于这方面的信息。


虽然我在这里谈论 linux 和工具,但您确实不需要 Unix 环境。
Perl 在许多平台上都可用——例如看看ActivePerl您也可以在 Windows 平台上使用CygwinUnixUtils或类似工具的
简单安装。 而且,7-zip 可以在所有这些平台上使用——这是 7-zip 最好的部分。

于 2009-07-13T04:40:08.333 回答
0

也许有任何 unshar 实用程序,因为就像制作一个 shell 解释器。

但我解决了我的问题,编写了一个小 perl 脚本,使用 cat 或 sed 模式提取文件并忽略其他所有内容。

于 2009-07-16T19:38:41.203 回答