Назад | Перейти на главную страницу

CentOS использует старую команду «split»? Как обновить?

Я использую Centos 5.3 и использую split как важная часть импорта данных. Версия сплита, запущенная на серверах, похоже, не поддерживает -p (сопоставление с образцом).

Версия на сервере split (GNU coreutils) 5.97, а версия на моем Mac, в которой -p, не отвечает ни на -v, ни на --version.

yum list split ничего не упоминает. Как я могу получить -p там?

Коротко говоря, вы смотрите на версию GNU split в Linux и версию BSD на вашем Mac.

Мой угадать заключается в том, что вы можете загрузить исходный код версии BSD и скомпилировать его на своем хосте Linux, но я никогда не пробовал такую ​​операцию. Кроме того, если вы это сделаете - обновление GNU coreutils может сломать его в будущем.

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

Я предполагаю попробовать скомпилировать более новую версию coreutils на CentOS, а затем скопировать разделение в специальный каталог, возможно, тот же каталог, что и ваш скрипт). Однако будьте осторожны с PATH по умолчанию, его не должно быть ни в одном из системных путей. Вы также можете захотеть переименовать split в другое имя, скажем, на newsplit.

Затем ваш сценарий необходимо будет изменить, чтобы использовать эту версию разделения (разделение новостей). Это можно сделать разными способами, например, изменив переменную PATH в вашем скрипте или используя полный путь к split / newsplit. Обычно я делаю это в оболочке bash:

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

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