1

在 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:最佳局

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

请告诉我。谢谢。

4

1 回答 1

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

grep将显示匹配的行,然后-ls选项find将显示文件的属性。如果grep没有找到任何匹配的行,它会返回一个非零退出状态,并将find其视为false,因此它不会执行剩余的选项。

于 2013-10-05T00:37:19.393 回答