1、管道:符号'|',将'|'前面命令的输出结果作为后面命令的输入。
如:ls /bin | grep ^m.这行命令就是就是将bin目录下输出结果给到grep,并且匹配以m为开头的。其中ls:代表列出所有内容,bin是存放大多数命令的文件夹,/bin是绝对目录bin,单独的/就表示根目录了,grep是以正则的方式进行匹配,'^'就是在正则中以指定的内容为开头进行匹配。
2、xargs:有些命令无法接收管道参数,也就是说有些命令的结果会输入到终端,需要使用xargs来强制改变去向,这就是它的一个用处
如:mkdir test》cd test/》touch 1.txt 2.pdf 3.py
ls . | xargs rm
其中:madir就是创建目录,cd切换目录,touch新建文件,可以多个
3、xargs其他小作用:
1》-d :指定以xx进行分割,等价于echo 11 22 33,相当于给echo传递了三个参数,分别是11、22、33。
echo '11@22@33' | xargs echo 输出结果为11@22@33
echo '11@22@33' | xargs -d '@' echo 输出结果为11 22 33
2》-p:询问是否执行,这种方式可以看清楚执行命令是什么样子
echo '11@22@33' | xargs -p -d '@' echo
输出结果为 echo 11 22 33
?...y 就是在询问是否执行命令echo 11 22 33,输入y确认
11 22 33 就是执行出来的结果
3》 -n:把执行结果进行换行处理,后面的参数3代表每行执行的参数个数
echo '11@22@33@44@55@66@77@88@99@00' | xargs -d '@' -n 3 echo
输出结果为: 11 22 33
44 55 66
77 88 99
00
4》-E:选定一个字符串,对该字符串前面的内容进行读取
echo '11 22 33' | xargs -E '33' echo 输出结果为:11 22
echo '11 22 33' | xargs -E '22' echo 输出结果为:11
管道与xargs
猜你喜欢
转载自www.cnblogs.com/LJCHSYM/p/10620265.html
今日推荐
周排行