页次: 1
问题描述
一个文件夹中有多个文件.txt 文件。 现在要搜索那些文件中包含字符串 'ipbbs'
解决方法
ls *.txt | xargs grep "ipbbs"
原理
重点是理解 xargs 是干什么的
看看一下两个命令
ls *.txt | ls -a
这个命令输出了所有为文件, 不仅仅是 .txt 文件。
ls *.txt | xargs ls -l
这个输出的是所有的 .txt 文件的详细的信息。
看看手册意思是说 ,xargs 可以标准的输出里获得数据。 也就是说 从 ls *.txt.
获得数据之后要分割数据, 分割的方式是按照 空格, 或者 换行。 之后把每一个分割后的数据,传递给后面的命令。
结合
ls *.txt | xargs grep "ipbbs"
比如有三个文件 a.txt b.txt c.txt
ls *.txt 输出了 a.txt b.txt c.txt
数据分割成三个小部分
a.txt
b.txt
c.txt
之后执行的是
grep "ipbbs" a.txt grep "ipbbs" b.txt grep "ipbbs" c.txt
ipbbs.net
离线
页次: 1