用于Solaris 的`solaris + xargs 命令

用于Solaris 的`solaris + xargs 命令

命令

find /tmp -name 'core*' -type f -print0 | xargs -0

在 Linux 上工作正常,但xargs -0选项在 Solaris 上不合法

xargsSolaris 10 的等效选项 (?) 是什么

第二个问题:
是否可以更改语法:

find /tmp -name 'core*' -type f -print0 | xargs -0

因此它适用于 Linux 和 Solaris 这两种操作系统

我在我的Solaris 10机器上尝试:

find /tmp -name 'core*' -type f -print0 | xargs -0
xargs: illegal option -- 0
xargs: Usage: xargs: [-t] [-p] [-e[eofstr]] [-E eofstr] [-I replstr] [-i[replstr]] [-L #] [-l[#]] [-n # [-x]] [-s size] [cmd [args ...]]

答案1

-print0to find 和to xargs都不-0是 POSIX,并且可能并非在任何地方都可用。命令+终止符 to-exec是 POSIX 的一部分,并且将完成相同的任务。这是一个例子。

find /tmp -type f -name 'core*' -exec rm {} +

答案2

--print0-0GNU 扩展。我相信(几乎)完整的 GNU 工具套件可用于 Solaris(可能以诸如 之类的名称gfind,默认情况下可能未安装)。

这里是建议安装的工具列表,以使您的 Solaris 体验更加愉快。

答案3

使用 GNU Parallel 代替 xargs:

find /tmp -name 'core*' -type f -print | parallel echo

安装 GNU Parallel 实际上只需要 10 秒:

wget pi.dk/3 -qO - | sh -x

观看介绍视频以了解更多信息:https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

相关内容