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)?是否可以对上述命令进行一些修改以获取此信息?
请告诉我。感谢。
答案 0 :(得分:0)
find /shrproj/files -type f -name '*.sas' -exec egrep -i 'TEST|BEST' {} \; -ls
grep
将显示匹配的行,然后-ls
的{{1}}选项将显示文件的属性。如果find
找不到任何匹配的行,则会返回非零退出状态,而grep
会将其视为find
,因此它不会执行剩余的选项。