我正在使用命令来搜索从Unix中给定的目录开始的文件,结尾为* .sas并包含字符串DB2的文件。然后,我想要搜索字符串DSN =或DATASRC =的结果集文件,并打印包含这些字符串的行。所以这是我使用find命令:在Unix中为一个给定的字符串,然后在这个文件中的另一组字符串中搜索文件
find '/shrproj/' -type f -name '*.sas' -exec grep -il 'DB2' {} \; 2> /dev/null | xargs egrep -Ri 'DSN=|DATASRC='
这给了我所期望的输出继电器:
/shrproj/files/stp_code/aea_aat_stp/icrv3/bin/macro/cnct_2_eaw.sas: ,"DSN=%UPCASE(&the_database.)"
/shrproj/files/stp_code/aea_aat_stp/icrv3/bin/macro/cnct_2_eaw.sas: ,"DSN=%UPCASE(&the_database.)"
但现在我也想打印的文件的属性(使用-ls选项)按照上述结果即下面是我打算实现:
/shrproj/files/stp_code/aea_aat_stp/icrv3/bin/macro/cnct_2_eaw.sas: ,"DSN=%UPCASE(&the_database.)"
/shrproj/files/stp_code/aea_aat_stp/icrv3/bin/macro/cnct_2_eaw.sas: ,"DSN=%UPCASE(&the_database.)"
61522 19 -rwxrwsr-x 1 sas sas 18546 Jun 2 2010 /shrproj/files/stp_code/aea_aat_stp/icrv3/bin/macro/cnct_2_eaw.sas
在最后一行的文件的属性使用带有-ls选项find命令时,上面是一样的。
find /shrproj/files/stp_code/aea_aat_stp/icrv3/bin/macro/cnct_2_eaw.sas -ls
那么,如何使用上面使用的第一个Find命令为每个文件实现这个?
请让我知道。谢谢。
不要[双岗问题](http://unix.stackexchange.com/q/168046/60101)! – BroSlow 2014-11-16 13:30:09