Вы либо не очень хорошо знакомы с xargs
, либо используете его неправильно, потому что вы пытаетесь решить именно эту проблему, xargs предназначена для решения: произвольно длинный список строк, передавайте их в качестве аргументов в программу при минимальном количестве выполнений, не превышая системных ограничений на количество аргументов, которые может принять программа.
Вы подходите для find ... -exec
, но это также можно исправить. Просто добавьте +
в конце команды find
и вуаля, она будет вести себя как xargs
.
Ни одно из вышеприведенных решений, использующих kate $(...)
(или эквивалент с обратными галочками), не работает вообще (они не поддерживают имена файлов с пробелами, не будут работать вообще, если список файлов очень длинный). И find ... +
, и xargs
обходят эти ограничения.