Похоже, что много работы для чего-то, что xargs
уже делает. Оглядываясь назад в этой ветке, я предполагаю, что медлительность с xargs
, которую вы испытали, заключается в том, что первоначальный ответ использовал xargs -n 1
, когда это действительно не нужно.
Это эквивалентно вашему методу 1, за исключением того, что xargs
автоматически обрабатывает максимальную длину командной строки:
git tag | sorting_processing_etc | xargs git push --delete origin
xargs
также может запускать процессы параллельно. Способ 2 с xargs
:
git tag | sorting_processing_etc | xargs -P 5 -n 100 git push --delete origin
Выше используется максимум 5 процессов для обработки максимум 100 аргументов в каждом процессе. Вы можете поэкспериментировать с аргументами, чтобы найти то, что лучше всего подходит для ваших нужд.