xargsでmvを実行したい

いまさらxargsの便利さを主張してみる — ディノオープンラボラトリ」を見て、ずっと前に自分も同じ様なことで悩んでたような気がしたので、日記を検索してみたら、やっぱりあった。自分で書いた記事だけど、読み返してみるとよく言っている意味が分からないな…、なんだろこれ。
Cygwin日本語化メモ - 英語とプログラミング気まぐれ日記


ともかく、方法をそのままメモしておく。

方法1
% find . -name \*~ -print0 | xargs -0 -I{} mv {} /var/tmp

ただし、この方法は1ファイルづつ mv するので、効率は悪いらしい

方法2(GNU版の cp や mv にある -t オプションを使用)
% find . -name \*~ -print0 | xargs -0 mv -t /var/tmp