Разница в скорости будет незначительной.
Но вы должны убедиться, что:
Ваш сценарий не будет предполагать, что нет
файл будет иметь место, вкладку и т. д. в
имя файла; первая версия
безопасно, второй нет.
Ваш сценарий не будет обрабатывать файл, начинающийся с "-
", как параметр.
Итак, ваш код должен выглядеть так:
find . -exec cmd -option1 -option2 -- {} +
или
find . -print0 | xargs -0 cmd -option1 -option2 --
Первая версия короче и ее легче написать, так как вы можете игнорировать 1, но
вторая версия более переносима и безопасна, так как «-exec cmd {} +
» является относительно новой опцией в GNU findutils (с 2005 года во многих запущенных системах ее еще не будет), и недавно она была глючной . Также многие люди не знают этого "-exec cmd {} +
", как вы можете видеть из других ответов.