Linux
CentOS 使用較舊的“拆分”命令?如何更新?
我正在執行 Centos 5.3,並將
split
其用作數據導入的關鍵部分。伺服器上執行的 split 版本似乎不支持-p
(模式匹配)。伺服器上的版本是
split (GNU coreutils) 5.97
,而我的 mac 上的版本是-p
,不響應 -v 或 –version 。
yum list split
沒有提及任何事情。我怎樣才能-p
上去?
簡短的版本是您正在查看
split
Linux 上的 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}