查找命令在结果前打印数字

时间:2013-12-21 11:59:51

标签: linux command

使用以下"发现"命令提取一些文件,

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

没有前面的随机数字以及这些数字实际意味着什么。

1 个答案:

答案 0 :(得分:0)

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

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命令本身也可以执行过滤作业。需要知道您的输入数据以说明更多