Chinaunix

标题: ls与find与grep组合使用的问题 [打印本页]

作者: conall    时间: 2016-03-16 11:18
标题: ls与find与grep组合使用的问题
需求:找出某个目录下,最新的包含字符"ERBS Status"的Export*.xml文件。
我是这样操作的:
1、对当前目录下的文件按照时间排序: ls -ltr
2、然后查找 文件名为'Export*.xml':find /home/whoss/conall/getcell/export_cell_log/ -name 'Export*.xml'
3、最后在'Export*.xml'中查找包含字符"ERBS Status"的Export*.xml文件:xargs grep "ERBS Status"
即,如下:
ls -ltr | find /home/whoss/conall/getcell/export_cell_log/ -name 'Export*.xml' | xargs grep "ERBS Status"
   但执行的结果不是最新的包含字符"ERBS Status"的Export*.xml文件。求各位大侠帮助改正一下,谢谢!
作者: elu_ligao    时间: 2016-03-16 11:32
本帖最后由 elu_ligao 于 2016-03-16 11:37 编辑

回复 1# conall
  1. find /home/whoss/conall/getcell/export_cell_log/ -name 'Export*.xml' | xargs grep -l "ERBS Status" | xargs ls -ltr
  2.     这样?
复制代码

作者: conall    时间: 2016-03-16 11:34
回复 2# elu_ligao
吼吼, find 只能连用一个xargs,怎么可能用两个xargs?如果可以,我早就搞定了

   
作者: elu_ligao    时间: 2016-03-16 11:39
回复 3# conall


    刚 grep  少个 -l
作者: jcdiy0601    时间: 2016-03-17 10:07
  1. for i in `ls -tr Export*.xml`;do grep -l "ERBS Status" ${i};done|head -1
复制代码

作者: 鱼头_火锅    时间: 2016-03-17 21:13
find /home/whoss/conall/getcell/export_cell_log/ -name 'Export*.xml' -type f -exec ls -t {} \;|xargs grep "ERBS Status"|head -1






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2