老男孩教育每日一题-2017年5月18日-说说|(管道)与|xargs(管道xargs)的区别

简介:

1.题目

老男孩教育每日一题-2017年5月18日-说说|(管道)与|xargs(管道xargs)的区别

2.参考答案


find  |xargs ls -ld##把前一个命令的结果,通过管道传递给后面的命令(ls -ld),传递的是文件名
find  | 命令    ##把前一个命令的结果,通过管道传递给后面的命令,传递的是普通的文本,文字,字符串

测试方法1-sed -i参数

sed -i参数修改文件内容,后面必须要加上文件名否则会报错。no input file

[root@show ~]# find  /oldboy/ -type f  -name "*.sh" |sed -i 's#oldboy#oldgirl#g' 
sed: no input files
说明 只有一个管道的时候 传递的只是 文本 文字 字符串
[root@show ~]# find  /oldboy/ -type f  -name "*.sh" |xargs sed -i 's#oldboy#oldgirl#g'

测试方法2-grep抓取字符串

[root@oldboyedu-vm1 data]# find /data/ -type f -name "*.txt" 
/data/r.txt
/data/l.txt
/data/x.txt
/data/k.txt
/data/b.txt
/data/q.txt
/data/y.txt
/data/oldboy/3oldboy.txt
/data/oldboy/1oldboy.txt
/data/oldboy/2oldboy.txt
/data/oldboy/oldboy.txt
/data/d.txt
/data/e.txt
/data/c.txt
/data/p.txt
/data/u.txt
/data/h.txt
/data/g.txt
/data/m.txt
/data/a.txt
/data/t.txt
/data/z.txt
/data/i.txt
/data/f.txt
/data/o.txt
/data/w.txt
/data/s.txt
/data/n.txt
/data/v.txt
/data/j.txt
[root@oldboyedu-vm1 data]# find /data/ -type f -name "*.txt" |grep ".txt"
/data/r.txt
/data/l.txt
/data/x.txt
/data/k.txt
/data/b.txt
/data/q.txt
/data/y.txt
/data/oldboy/3oldboy.txt
/data/oldboy/1oldboy.txt
/data/oldboy/2oldboy.txt
/data/oldboy/oldboy.txt
/data/d.txt
/data/e.txt
/data/c.txt
/data/p.txt
/data/u.txt
/data/h.txt
/data/g.txt
/data/m.txt
/data/a.txt
/data/t.txt
/data/z.txt
/data/i.txt
/data/f.txt
/data/o.txt
/data/w.txt
/data/s.txt
/data/n.txt
/data/v.txt
/data/j.txt
[root@oldboyedu-vm1 data]# find /data/ -type f -name "*.txt" |grep -o ".txt"
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt
.txt

###上面的内容表示grep命令从管道中获取文本,在这些文本中查找.(此处表示任意一个字符)txt
[root@oldboyedu-vm1 data]# find /data/ -type f -name "*.txt" |xargs grep ".txt"

###上面的表示grep命令从find命令的找到的文件名字中查找想要的内容

grep命令表示过滤 表示找东西,一重是从管道里面获取文字另一种方法是从文件中获取文件或文本。

3.统计信息

今天是每日一题陪伴大家的第53天期待你的进步

对于题目和答案的任何疑问,请在博客评论区留言
往期题目索引

http://lidao.blog.51cto.com/3388056/1914205


本文转自 李导 51CTO博客,原文链接:http://blog.51cto.com/lidao/1927347

相关文章
|
8月前
|
Unix Linux Shell
探索xargs的威力与应用
探索xargs的威力与应用
49 0
|
8月前
|
JSON 监控 数据处理
掌握AWK:文本处理的瑞士军刀
掌握AWK:文本处理的瑞士军刀
|
8月前
|
Ubuntu 安全 Linux
【Linux命令行艺术】1. 初见命令行
【Linux命令行艺术】1. 初见命令行
|
Unix Linux 开发工具
Linux命令ls的自我实现(上)
Linux命令ls的自我实现(上)
Linux命令ls的自我实现(上)
|
弹性计算 网络协议 NoSQL
Linux指令入门-文本处理
云起冬季实战营第二期:Linux操作系统实战入门。参加复习一下Liunx命令,并简单写一下在日常工作中已开发视角,那些命令比较常用。 第一节Linux指令入门-文本处理。
244 0
Linux指令入门-文本处理
|
存储 NoSQL Linux
Linux命令ls的自我实现(下)
Linux命令ls的自我实现(下)
一分钟了解nohup和&的功效
上一篇《服务挂了,怎么自动恢复?》中留了一个作业,nohup和&究竟有啥区别?不少同学进行了回复,但并不是所有同学都理解得全对,今天把自己挖的坑自己填了。
642 0
|
存储 Shell Linux
《Linux命令行与shell脚本编程大全》第二十二章 gawk进阶
gawk是一门功能丰富的编程语言,你可以通过它所提供的各种特性来编写好几程序处理数据。  22.1 使用变量 gawk编程语言支持两种不同类型的变量: 内建变量和自定义变量   22.1.1 内建变量 gawk程序使用内建变量来引用程序数据里的一些特殊功能   1.字段和记录分隔符变量 数据字段变量:允许你使用美元符和字段在该记录中的位置值来引用记录对应的字段。
1039 0
|
机器学习/深度学习 Shell Linux
《Linux命令行与shell脚本编程大全》第二十一章 sed进阶
本章介绍一些sed编辑器提供的高级特性。   21.1 多行命令 按照之前的知识,所有的sed编辑器命令都是针对单行数据执行操作的。 在sed编辑器读取数据流时,它会基于换行符的位置将数据分成行,一次处理一行数据。
1151 0