ファイル名に空白があるときのfind|xargs cp
- 区切り文字をスペース以外に変更するため、
find
の-print0
オプションを付け、xargs
の-0
オプションで受ける - cp source directory なので、
xargs
の-J%
オプションで変数を%
に置換(BSD
系。Linux
系だと-i%
オプション)
$ find . "*.mp3" -print0 | xargs -0 -J% cp % targetdir
-print0
オプションは固定なのでxargs
も-0
オプションでしか受けられないが、find
の-J
オプションの置換する変数は変更可能。
$ find . "*.mp3" -print0 | xargs -0 -J{} cp {} targetdir
など