shell 搜索目錄下所有文件包含某個內容的文件
一、Linux查找文件內容的常用命令方法。
-
從文件內容查找匹配指定字符串的行:
$ grep “被查找的字符串” 文件名
例子:在當前目錄裏第一級文件夾中尋找包含指定字符串的.in文件
grep “thermcontact” /.in -
從文件內容查找與正則表達式匹配的行:
$ grep –e “正則表達式” 文件名 -
查找時不區分大小寫:
$ grep –i “被查找的字符串” 文件名 -
查找匹配的行數:
$ grep -c “被查找的字符串” 文件名 -
從文件內容查找不匹配指定字符串的行:
$ grep –v “被查找的字符串” 文件名
二、從根目錄開始查找所有擴展名爲.log的文本文件,並找出包含”ERROR”的行
find / -type f -name “.log" | xargs grep “ERROR”
例子:從當前目錄開始查找所有擴展名爲.in的文本文件,並找出包含”thermcontact”的行
find . -name ".in” | xargs grep “thermcontact”