我正在使用以下“查找”命令来提取一些文件,
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
Run Code Online (Sandbox Code Playgroud)
我在 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
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能得到,
/lag/cnnf/abc/45/r-01.bac.db.tar.gz
/lag/cnnf/abc/45/r-01.bac.db.tar.gz
Run Code Online (Sandbox Code Playgroud)
没有前面的随机数以及这些数字的实际含义。
小智 6
这些数字实际上是由(e)greps 及其-n选项产生的,这意味着:
在其输入文件中使用从 1 开始的行号为每一行输出添加前缀。
如果您坚持保留该选项,请使用以下cut命令删除由冒号分隔的前两个字段:
find /lag/cnnf/ -maxdepth 3 -newer ./start ! -newer ./end \
| grep -nri abc \
| egrep '([^0-9]45[^0-9])' \
| grep -nri "db.tar.gz" \
| cut -d':' -f3- >> sample.txt
Run Code Online (Sandbox Code Playgroud)
-d是用作字段分隔符的字符,-f表示要打印哪些字段,在这种情况下是第三个和所有后续字段。
| 归档时间: |
|
| 查看次数: |
691 次 |
| 最近记录: |