macのfindについて

普段linuxで作業をしているのでmac上でfindのオプションを間違えます。

linuxでよく使う例
find /hoge -type f -name “moge*” | xargs -i mv {} /tmp/trash

macで実行する場合
find /hoge -type f -name “moge*” -print0 | xargs -J% mv % /tmp/trash
-J%でパイプ以前のものを置換されます。

追記

-Jに渡す値は%じゃなくても大丈夫。linuxの慣習で{}を使ってます。

xargs -J{} cp {} ./

 

macのfindでは探索パスを指定しないとエラーになってしまいます。

linux上では省略するとカレントディレクトリですが、探索パスの入力を習慣づけるといいですね。

Comments are closed.