[root@master test]# ls
sam.c sam.sh sam.txt test1 test2 test3
将所有sam开头的文件都复制到/root/tmp目录下:
1.ls sam*|xargs -i cp {} /root/tmp
-i选项将{}替换成ls传递过来的文件名,一次替换一个,可以通过-t打印执行过程来观察实际操作:
[root@master test]# ls sam*|xargs -t -i cp {} /root/tmp
cp sam.c /root/tmp
cp sam.sh /root/tmp
cp sam.txt /root/tmp
cp test1 /root/tmp
cp test2 /root/tmp
cp test3 /root/tmp
2.find . -name “sam*” -exec cp {} /root/tmp ;
那么批量删除也可以举一反三:
ls sam*|xargs -i rm -f {}
find . -name “sam*” -exec rm {} ;