Linux 搜尋所有檔案內容擷取所需記錄

2021-07-25 22:46:37 字數 1865 閱讀 8763

由於一些需求需要,遍歷某目錄先所有檔案,找出某行的關鍵資訊。

如:搜尋所有jsp檔案的內容,找出"spring:message"所在行,並取引號內的字串。

(如下圖,取粉色框中的字串)

第一步,遍歷檔案:

第二步輸出所有檔案內容,太多了!所以直接過濾關鍵字行。

第三步,把每行前面的空字元去掉

第四步,按雙引號分割行,取第二列(比較有規律!)

第五步排除有某些字元的行(如排除右大括號的行)

find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g' | cut -d"\"" -f2 | grep -v "}"
第六步,排序並去重複行

完成!另:搜尋某目錄下所有檔案內容,找出關鍵字所在的行,同時輸出所在檔案及行內容

Linux搜尋檔案或內容

1 遞迴搜尋檔案內容,如果查詢 hello,world 字串,可以這樣 grep rn hello,world 表示當前目錄所有檔案,也可以是某個檔名 r 是遞迴查詢 n 是顯示行號 r 查詢所有檔案包含子目錄 i 忽略大小寫 2 搜尋檔案 find name pay.html 表示根目錄,也可以自...

Linux遞迴搜尋特定檔案內容

因為pytorch報 warning 很討厭 w indexingutils.h 20 warning indexing with dtype torch.uint8 is now deprecated,please use a dtype torch.bool instead.function e...

讀檔案所有內容

cfile file file new cfile t strfilename cfile modereadwrite 裝載文字檔案 cfilestatus status if file getstatus t strfilename status 並且關閉檔案 file close file op...