使用以下"发现"命令提取一些文件,
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 :(得分: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命令本身也可以执行过滤作业。需要知道您的输入数据以说明更多