2013-12-21 34 views
0

的现在用的是下面的“查找”命令来提取一些文件,查找命令打印数字盈结果

find /lag/cnnf/ -maxdepth 3 -newer ./start ! -newer ./end | grep -nri abc | egrep '([^0-9]45[^0-9])' | grep -nri "db.tar.gz" >> sample.txt 

我在sample.txt的输出

5:175:/lag/cnnf/abc/45/r-01.bac.db.tar.gz 
20:190:/lag/cnnf/abc/45/r-01.bac.db.tar.gz 

我应该怎么做才能

/lag/cnnf/abc/45/r-01.bac.db.tar.gz 
/lag/cnnf/abc/45/r-01.bac.db.tar.gz 

没有在它前面的随机数字和这些数字实际上是什么意思。

回答

0

这是grep这是打印数字,而不是find。从grep命令中删除-n选项,数字将消失。

find /lag/cnnf/ -maxdepth 3 -newer ./start ! -newer ./end | grep -ri abc | egrep '([^0-9]45[^0-9])' | grep -ri "db.tar.gz" >> sample.txt 

而且它看起来像不必要的开销,使用3条grep语句,应该是足够的,甚至find命令本身可以做筛选工作。需要知道你的输入数据才能说更多