Linux

CentOS 使用較舊的“拆分”命令?如何更新?

  • March 6, 2010

我正在執行 Centos 5.3,並將split其用作數據導入的關鍵部分。伺服器上執行的 split 版本似乎不支持-p(模式匹配)。

伺服器上的版本是split (GNU coreutils) 5.97,而我的 mac 上的版本是-p,不響應 -v 或 –version 。

yum list split沒有提及任何事情。我怎樣才能-p上去?

簡短的版本是您正在查看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

我的猜測是嘗試在 CentOS 上編譯更新版本的 coreutils,然後將 split 複製到一個特殊的目錄中,可能與您的腳本相同的目錄)。不過要注意預設的 PATH,它不應該在任何系統路徑中。您可能還想將 split 重命名為其他名稱,例如 newsplit。

然後需要修改您的腳本以使用此版本的拆分(新聞拆分)。這可以通過多種方式完成,例如更改腳本中的 PATH 變數,或使用 split/newsplit 的完整路徑。我通常在 bash shell 中執行此操作:

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

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

引用自:https://serverfault.com/questions/119862