1. cp命令如何与xargs结合使用?
问:是这样吗?
find . -name "*.youlike" | xargs cp /home/users/
答:xargs默认从管道传来的值是放在最后的,这样的话原本想做cp源文件的值和目的目录的参数就颠倒了。
解决办法:
find . -name "*.youlike" | xargs -I {} cp {} $D_PATH
与
find . -name "*.youlike" | xargs -i cp {} $D_PATH
xargs命令的-i 参数是xargs命令的"替换字符串"选项,大括号对的地方就是替换点。xarg的man页中表示废弃-i参数,建议使用-I{}来代替。cp后面的{}会被替换成xargs的输入。