管道命令xargs

在研究hadoop的过程中,遇到一个小难题。

问题描述:我需要将文件夹A下的文件拷贝到文件夹B中,但是以hadoop开头的文件不要拷贝。

问题解决:ls  A|grep -v hadoop|xargs -t -I {} cp {} /B

解释:grep -v 是反选。xargs命令的功能是将管道传来的的信息作为参数赋予马上要执行的命令。

如果该命令是单参数指令,例如rm,那么很简单:

ls A|xargs rm  即可。

如果该命令是多参数指令,例如cp。那可如何是好?

可以赋予-I(是大写的i不是l)选项,-I后面跟着的{}即指代管道传来的信息。

另:-t选项表示打印出所有指令。

posted @ 2015-04-18 15:41  ElNinoT  阅读(210)  评论(0编辑  收藏  举报