我使用以下"find"命令提取一些文件,
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
我在样本中的输出.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
没有前面的随机数以及这些数字的实际含义。
打印数字的是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 命令本身也可以完成过滤工作。需要知道您的输入数据才能说更多