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

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

服务器上的版本是split (GNU coreutils) 5.97 ,而我的mac上有-p的版本不会响应-v或–version。

yum list split并没有提到任何东西。 我怎么能在那里得到?

简短的版本是,你正在寻找在Linux上的GNU版本的split ,以及在Mac上的BSD版本。

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

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

我的猜测是尝试在CentOS上编译一个较新版本的coreutils,然后将split分割成一个特殊的目录,或许和你的脚本是同一个目录)。 但是请注意默认的path,这不应该在任何系统path中。 newsplit说,你也可能想把分裂改名为别的。

那么你的脚本需要修改才能使用这个版本的split(newsplit)。 这可以通过很多方式完成,比如改变脚本中的PATHvariables,或者使用split / newsplit的完整path。 我通常在bash shell中这样做:

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