Вы можете сделать это довольно просто с помощью GNU Parallel , например:
parallel 'cut -b 1-10,25-50,65-79 {} > {.}_cut.txt' ::: file*txt
, где:
{}
представляет текущее имя файла, и {.}
представляет текущее имя файла без его расширения.
Сделайте резервную копию файлов в вашем каталоге, прежде чем пытаться это сделать, или любые незнакомые команды.
Он будет обрабатывать ваши файлы параллельно, выполняя N
за раз, где N
- это количество ядер в вашем процессоре.Если вы хотите, чтобы он выполнял, скажем, 8, заданий одновременно, используйте:
parallel -j 8 ...
Если вы хотите увидеть, что он будет делать , фактически ничего не делая, используйте:
parallel --dry-run ...