CentOS 使用较旧的“split”命令?如何更新?

CentOS 使用较旧的“split”命令?如何更新?

我正在运行 Centos 5.3,并将其用作split数据导入的关键部分。服务器上运行的 split 版本似乎不支持-p(模式匹配)。

服务器上的版本是split (GNU coreutils) 5.97,而我的 Mac 上的版本为-p,对 -v 或 --version 均无响应。

yum list split没有提到任何内容。我该如何登录-p

答案1

简而言之,您正在查看splitLinux 上的 GNU 版本,以及 Mac 上的 BSD 版本。

我的猜测是您可以下载 BSD 版本的源代码并在 Linux 主机上进行编译 - 但我从未尝试过这样的操作。此外,如果您这样做 - 升级 GNU coreutils 可能会在将来破坏它。

http://plug-and-pray.blogspot.com/2009/11/how-to-split-large-files-in-linux-and.html

答案2

我的猜测是尝试在 CentOS 上编译较新版本的 coreutils,然后将 split 复制到一个特殊目录中,可能是与您的脚本相同的目录。但请注意默认 PATH,它不应位于任何系统路径中。您可能还想将 split 重命名为其他名称,例如 newsplit。

然后需要修改脚本以使用此版本的 split (newsplit)。这可以通过多种方式完成,例如更改脚本中的 PATH 变量,或使用 split/newsplit 的完整路径。我通常在 bash shell 中执行此操作:

#!/bin/bash
_CAT="/usr/bin/echo"
_SPLIT="${PWD}/newsplit"

${_CAT} filename.txt | ${_SPLIT}

相关内容