Я надеюсь использовать более одного ядра при замене значений на sed в bash, возможно ли это?
3 ответа
Вы можете попробовать запустить несколько сценариев параллельно. Смотрите этот вопрос: https://unix.stackexchange.com/questions/79501/executing-piped-commands-in-parallel
Как вы увидите из моего собственного ответа, это не автоматически, что несколько ядер позволят вам получить более быстрые результаты (хотя, конечно, это может произойти).
Краткий ответ: вероятно, нет.
Более длинный ответ: это действительно зависит. Как выглядит ваш седь? Что такое ввод / вывод? Это несколько сценариев и несколько входных файлов? Затем вы можете запустить несколько экземпляров, и планировщик, вероятно, распространит это для запуска на нескольких ядрах. Это один длинный входной файл? тогда ответ может быть, но, вероятно, нет.
Может быть, вы можете разбить файл на куски и обрабатывать их ТОЛЬКО при определенных строгих условиях, а именно, ваш sed не заботится о номерах строк. Что-то вроде "удалить строку 2" сильно отличается в одном файле от одного файла, разбитого на части. Sed может использовать состояние, и если вы разделите файл, вы должны будете сохранить это состояние редактирования согласованным.
Обычно это невозможно сделать с помощью SED. Если вы хотите повысить производительность, возможно, вы могли бы попробовать вместо этого использовать AWK или Python3.