我使用以下命令在目录结构中递归查找字符串。在Unix中使用find命令时忽略“是目录”结果
find . -exec grep -l samplestring {} \;
但是,当我一个大目录结构中运行命令,将有
grep: ./xxxx/xxxxx_yy/eee: Is a directory
grep: ./xxxx/xxxxx_yy/eee/local: Is a directory
grep: ./xxxx/xxxxx_yy/eee/lib: Is a directory
一个长长的清单我想省略上述结果。只需显示字符串即可获取文件名。有人可以帮忙吗?
'find -type f'和'grep -r'或'grep -R'是不错的选择......只是为了完成答案,或许加上'-d skip'专门照顾'是一个目录'问题......至少在使用递归搜索的shell选项的情况下,例如'grep -d skip -l'samplestring'**/@(* .txt | * .log)' – Sundeep
@Sundeep不错!我不知道'-d'标志。 – fedorqui