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

时间: 2024-10-12 23:41:43

管道命令xargs的相关文章

管道命令总结

管道命令 概念 管道命令只会处理stdout,忽略stderr 管道命令后面接的第一个数据必定是命令,这个命令必须能够接收stdin 选取命令 作用:取出我们想要的数据          cut 用途:将一行信息的某一段切出来 缺点:处理多空格相连的数据比较差                    cut -d '分隔字符' -f fields -d               后面接分割字符,与-f一起使用 -f                依据-d将一段信息切割成数段,用-f取出第几段 例

linux(5)--补充(管道| / 重定向> / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)

本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www.cnblogs.com/chengmo/archive/2010/10/21/1856577.html以此为例: cat test.sh test1.sh 2>/dev/null | grep -n 'echo' 此时若test.sh 不存在,报错信息不会输出到屏幕中,而是转入 /dev/null中,如

管道和xargs的理解

最近学习了linux的一些命令,看到一连串的管道符合xargs就懵球子了.就仔仔细细的学了学二者的区别 先总体说一下区别: 管道符 |  的意思就是说,将前一个命令的标准输出作为后面一个命令的标准输入. xargs 的意思就是说,把标准输入格式化为一行,作为后面的命令的命令行参数. 下面我们举个栗子 : 看懂了没? cat file.txt 我们看到文件里面是什么内容,然后我们再次 cat file.txt | xargs 一下,发现结果都变成一行了,这就是所谓的格式化为一行. 接下来我们看,c

管道命令的使用

bash命令执行的时候有输出数据,如果这群数据比寻经过几道手续之后才能得到我们所需要的格式,就涉及到管道命令(pipe),管道命令使用"|"这个界定符号,另外管道命令和连续执行命令是不一样的. 管道命令"|"仅能够处理经由前面一个命令传来的正确信息,也就是standard output的信息,对于standard error并没有直接处理的能力.在每个管道后面接的第一个数据必定是命令,而且这个命令必须能够接收standard input的数据才行,这样的命令才可以是

管道和xargs的问题

***大家好,我是Linux初学者,对于管道和xargs的区别一直不是很清晰,最近查了很多博客,通过总结各位大牛的文章,发表一下我对管道和xargs的见解.*** 举个经典的例子:首先当前目录处于/root,里面有anaconda-ks.cfg, a.txt, install.log, install.log.syslog,四个文件.键入以下命令: echo '--help' | ls 单纯的管道 echo '--help' | xargs ls xargs命令 第一条命令的结果: anacon

Linux基础篇四———管道命令

管道命令 如果我们的数据必须经过"几道手续"之后才能够得到我们想要的格式那么我们必须使用pipe命令来解决这个问题 **管道命令和连续执行命令是不一样的 我们来看一下管道命令的处理信息流程 管道命令的应用 1.cut **用于选取部分数据 -d:规定分隔符 -f:依据-d分隔之后所选取的数据段 -c:规定以字符为单位分割接数字来取到置顶位置数据. **cut的主要用途在于将同一行数据进行分解 2.grep **用于分析一行数据 -a: 将二进制文件以text文件的方式查找数据 -c:计

linux shell 管道命令(pipe)使用及与shell重定向区别

linux shell 管道命令(pipe)使用及与shell重定向区别 看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了.这次我们看下管道命令了.shell管道,可以说用法就简单多了. 管道命令操作符是:"|",它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力.然后,传递给下一个命令,作为标准的输入 st

管道命令'|'

管道符号,是unix功能强大的一个地方,符号是一条竖线:"|", 用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为command 2的输入传给command 2, 例如: ls -l | more 该命令列出当前目录中的任何文档,并把输出送给more命令作为输入,more命令分页显示文件列表. 管道命令'|'

一天一命令-xargs

一天一命令-xargs xargs 传递标准输入作为下一个命令的参数或者重新格式化并输出 xargs默认命令是echo,默认分隔符是空格.xargs可以将输入文本转换为单行或多行显示,即指定每行显示的个数. Usage: xargs [OPTION]... COMMAND INITIAL-ARGS... -0 显示为一列,默认显示为一行,以空格为分隔符 -a file 从文件读取数据而非标准输入 -d 指定分隔符 -l num 指定每行显示的参数个数 -n num 指定以空格为分隔符显示每行的参