使用搜索字符串传送文件信息:

时间:2013-10-05 00:30:39

标签: file grep find

Unix中单个命令是否在Unix目录中包含一个或多个字符串(包括其中的子目录)的搜索(不区分大小写)文件时获取以下信息:

1)完整的文件名(路径和文件名)
    2)文件的所有者
    3)文件大小
    4)上次修改日期
    5)文件中包含字符串的匹配行。

我使用此命令搜索字符串'TEST'和'BEST':

find  /shrproj/files    -type f -name '*.sas'    | xargs egrep -Ri   'TEST|BEST'

结果:

  

/shrproj/files/sas_apps/IVR_Campaign_File_Load.sas:测试样本

     

/shrproj/files/aea_aat/IVR_Campaign1_File_Load.sas:BEST Innings

如上面的结果所示,我只从中得到信息1)和5) 以上命令。如何获取这些文件的信息2),3)和4)?是否可以对上述命令进行一些修改以获取此信息?

请告诉我。感谢。

1 个答案:

答案 0 :(得分:0)

find /shrproj/files -type f -name '*.sas' -exec egrep -i 'TEST|BEST' {} \; -ls

grep将显示匹配的行,然后-ls的{​​{1}}选项将显示文件的属性。如果find找不到任何匹配的行,则会返回非零退出状态,而grep会将其视为find,因此它不会执行剩余的选项。

相关问题