У меня есть скрипт, который принимает три аргумента и работать так:Как сделать Гну-параллельно разделенным несколько входных файлов
myscript.sh input1.fa input2.fa out.txt
Скрипт считывает одну строку каждый из input1.fa
и input2.fa
, делает некоторые сравнения , и записывает результат в out.txt
. Для двух входов требуется одинаковое количество строк, а out.txt
также будет иметь такое же количество строк после завершения скрипта.
Можно ли распараллелить это с помощью GNU parallel
?
Я не забочусь о том, что выход имеет другой порядок от входов, но мне нужно, чтобы сравнить i
ю строчку input1.fa
с i
-й линии input2.fa
. Кроме того, допустимо, если я получаю несколько выходных файлов (например, output{#}
) вместо одного - я просто отправлю их cat
.
Я нашел this темы, но ответ был не совсем тем, что я хотел. Я знаю, что могу split
два входных файлов и обрабатывать их параллельно в парах с использованием xargs
, но хотелось бы сделать это в одной строке, если это возможно ...
Умный! Это будет быстрее, если для 'myscript.sh' потребуется больше времени для обработки и вывода в STDOUT, чем' paste', чтобы пройти весь файл, исправить? Говоря иначе, если 'myscript.sh' так же быстро, как' paste', то нет повышения производительности, правильно? – obk
паста довольно быстро, поэтому ограничивающий фактор может быть параллельным. –