find -exec + vs find xargs:どちらを選択しますか?

find -exec + vs find xargs:どちらを選択しますか?

私は私が模倣-execできる行動があることを知っています。ある形式を他のものよりも好む状況はありますか?+xargs

私は個人的にパイプの使用を避けるために最初の形式を好みます。開発者がfind適切な最適化を行ったに違いないと思います。私は正しいですか?

ベストアンサー1

ファイル名を安全にパイピングするxargsには、そのオプションをサポートし、それをfind読むための適切なオプション(または)が必要です。そうしないと、名前に印刷できない文字、バックスラッシュ、引用符、またはスペースを含むファイル名が予期しない動作を引き起こす可能性があります。一方、-print0xargs--null-0find -exec {} +POSIXfind仕様そのため、移植可能で同様に安全で、find -print0 | xargs -0より確実に安全ですfind | xargs。おすすめしたいいいえfind | xargsしなかった-print0

おすすめ記事