用于 tar-gzip(或 pigz)的 Automator 应用程序

Posted

技术标签:

【中文标题】用于 tar-gzip(或 pigz)的 Automator 应用程序【英文标题】:Automator app for tar-gzip (or pigz) 【发布时间】:2015-04-10 17:35:58 【问题描述】:

我正在尝试在 OSX 下进行“存档实用程序”替换,以使用 tar 和 gzip(或 pigz)命令打开 tar.gz 文件。

重点是在 Automator 中创建一个应用程序,以便我可以将 tar.gz 文件类型绑定到它,然后,当单击 tar.gz 文件时,shell 脚本会使用 pigz/tar/gzip/etc 而不是默认存档实用程序。

我的应用程序包含一个“运行 Shell 脚本”(或一个 Get Selected Finder Items -> Run Shell Script,我都尝试过),它执行:

/usr/local/bin/pigz -dc "$1" | tar xf -

输入作为参数传递,但由于某种原因,它不起作用。

当从命令行使用时,它可以完美运行,但当设置为应用程序时,它什么也不做。

欢迎任何帮助!

【问题讨论】:

【参考方案1】:

试试

#!/bin/bash
pigz -dc "$1" | tar xf - -C "$(dirname "$1")"

或使用notify-send 或 OSX 上可用的任何通知器来调试脚本。

在 Linux 上,未修改的脚本在文件浏览器中运行时从非主目录解压缩到 $HOME,因为 $PWD 始终为 $HOME(正如我从 notify-send 了解到的那样)我曾经的文件浏览器。因此修复了使用参数的目录。

您的问题可能在其他地方。至少你需要确保你的脚本是可执行的并且在你的$PATH 中(你的$PATH 可以通过你的GUI 看到)。作为使用通知程序的替代方法,您可以在从 GUI 调用脚本时将一些信息转储到文件中并从终端 tail -f 该文件。

【讨论】:

以上是关于用于 tar-gzip(或 pigz)的 Automator 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

多线程压缩工具pigz的使用

使用管道压缩/解压

linux下多线程压缩命令pigz

使用tar+pigz+ssh实现大数据的高效传输

使用tar+pigz+ssh实现大数据的高效传输

快如闪电:Linux多线程压缩软件pigz和压缩神器zstd