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



我使用以下"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 命令本身也可以完成过滤工作。需要知道您的输入数据才能说更多

最新更新