Если вы имеют GNU Parallel вы можете запустить:
find . -name '*.html-bak' -print0 | parallel -0 mv {} {.}.html
Это работает, даже если имена файлов содержат»," и пространство
.
Все новые компьютеры имеют несколько ядер, но большинство программ являются серийными по своей природе и поэтому не будут использовать несколько ядер. Тем не менее, многие задачи чрезвычайно parallelizeable:
- Выполнить ту же программу на многих файлах
- Выполнить ту же самую программу для каждой строки в файле
- Run та же программа для каждого блока в файле
GNU Parallel - это общий параллелизатор и позволяет легко запускать задания параллельно на одном компьютере или на нескольких компьютерах, к которым у вас есть доступ ssh.
Если у вас есть 32 различных заданий, которые вы хотите работать на 4-х процессоров, прямо вперед способ распараллеливания является выполнение 8 заданий на каждом CPU:
![Simple scheduling](https://i.stack.imgur.com/uH0Dh.png)
GNU Parallel вместо порождает новый процесс, когда один заканчивается - поддержание процессоров активным и тем самым экономя время:
![GNU Parallel scheduling](https://i.stack.imgur.com/17FsG.png)
Установка
Личная установка не требует доступа root. Это может быть сделано в течение 10 секунд, делая это:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
Для других вариантов установки см http://git.savannah.gnu.org/cgit/parallel.git/tree/README
Подробнее
Другие примеры: http://www.gnu.org/software/parallel/man.html
смотреть интро видео: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
Прогулка по t он учебник: http://www.gnu.org/software/parallel/parallel_tutorial.html
Зарегистрируйтесь на список адресов электронной почты, чтобы получить поддержку: https://lists.gnu.org/mailman/listinfo/parallel
Вам не нужно 'xargs'; 'найти. -name '* .html' -exec mv '{}' '{} -bak' \; '. – chepner