Я надеюсь использовать более одного ядра при замене значений на sed в bash, возможно ли это?

3 ответа3

1

Вы можете попробовать запустить несколько сценариев параллельно. Смотрите этот вопрос: https://unix.stackexchange.com/questions/79501/executing-piped-commands-in-parallel

Как вы увидите из моего собственного ответа, это не автоматически, что несколько ядер позволят вам получить более быстрые результаты (хотя, конечно, это может произойти).

1

Краткий ответ: вероятно, нет.

Более длинный ответ: это действительно зависит. Как выглядит ваш седь? Что такое ввод / вывод? Это несколько сценариев и несколько входных файлов? Затем вы можете запустить несколько экземпляров, и планировщик, вероятно, распространит это для запуска на нескольких ядрах. Это один длинный входной файл? тогда ответ может быть, но, вероятно, нет.

Может быть, вы можете разбить файл на куски и обрабатывать их ТОЛЬКО при определенных строгих условиях, а именно, ваш sed не заботится о номерах строк. Что-то вроде "удалить строку 2" сильно отличается в одном файле от одного файла, разбитого на части. Sed может использовать состояние, и если вы разделите файл, вы должны будете сохранить это состояние редактирования согласованным.

0

Обычно это невозможно сделать с помощью SED. Если вы хотите повысить производительность, возможно, вы могли бы попробовать вместо этого использовать AWK или Python3.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .