Chinaunix

标题: 先用find 搜索指定文件名 cds.ta,然后打印含有 DMTYPE p 的 cds.ta文件名和匹配行 [打印本页]

作者: weichanghe2000    时间: 2018-12-05 00:29
标题: 先用find 搜索指定文件名 cds.ta,然后打印含有 DMTYPE p 的 cds.ta文件名和匹配行
先用find 命令搜索指定文件名叫 cds.ta,然后如何打印出含有 DMTYPE p4 的 cds.ta文件名和匹配行,如果不含 DMTYPE p4 的 cds.ta文件则不打印。
输出格式行如 :
./xx/xx1/cds.ta:   DMTYPE p4
./xx/xx2/cds.ta:   DMTYPE p4
./xx/xx3/cds.ta:   DMTYPE p4
...
...

我用下面代码1,这个会多打印出 cds.ta 文件,不符合要求:
find . -name "cds.ta" -exec sh -c "echo -n '{}: ';  grep 'DMTYPE p4' {} "   \;

我用下面代码2,精确打印出了包含DMTYPE p4的 cds.ta 文件,但是输出行如
./xx/xx1/cds.ta:   
DMTYPE p4
不符合要求(我希望输出的格式是 ./xx/xx1/cds.ta:   DMTYPE p4)
find . -name "cds.ta" -exec sh -c "grep -l 'DMTYPE p4' {}; grep 'DMTYPE p4' {} "  \;

要求:
1. 先用find快速查找文件名叫cds.ta
2. 如何打印包含DMTYPE p4的cds.ta 文件名和匹配行呢?
3. 且文件名和匹配行在一行输出,如./xx/xx1/cds.ta:   DMTYPE p4

麻烦大神们帮忙看一下,先谢啦。
作者: weichanghe2000    时间: 2018-12-07 00:14
大神们,可以帮忙看下吗?谢谢啦
作者: legs    时间: 2018-12-07 09:34
grep -R 'DMTYPE p4'
作者: jk328019419    时间: 2018-12-17 21:02
[root@web01 ~]# find ./ -name "cds.ta"|xargs -i grep -H 'DMTYPE p4' {}
./find/cds.taMTYPE p4






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2