管道命令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选项表示打印出所有指令。