Linux下查詢某資料夾下某類檔案的內容

2021-09-01 10:49:59 字數 658 閱讀 9571

今天有個需求:需要查詢在某個工程下面的所有js檔案和vm檔案中是否包含某個特定的關鍵字$a。

自己最直觀的想法,使用find實現。

find . -name "*.js" -or -name "*.vm" | xargs grep "\b$a\b"
這裡很容易在-or引數後面忘記再寫一次-name引數,我開始就是忘記了,導致語法就有問題,linux不認!

後來請教一位同事時,人家給出了直接grep的解法,相當不錯,記錄一下:

grep "\b$a\b" --include=\*. -r .
這裡,--include引數表明需要grep哪類檔案,-r表示遞迴搜尋特定的資料夾,千萬別忘記最後的那個「點」,用於表明在當前資料夾下搜尋。  

另外,還有個需求,要做多少關鍵字被匹配到的記錄。其實本質上是需要個shell下的計數器。

不過這個小語法有被我寫錯了,必須記錄一下了,汗。

因為使用的是bash,所以直接使用((i++))做自增最方便了。不過這裡的注意,自增變數i在(())雙括號中是不用使用變數引用的$符號的,這個被我忽略的地方,也就錯在這裡了。。。

所以正確的寫法類似於下面這樣的:

i=0

#in for loop under some condition

((i++))

Linux統計某資料夾下檔案 資料夾的個數

統計某資料夾下檔案的個數 ls l grep wc l 統計某資料夾下目錄的個數 ls l grep wc l 統計資料夾下檔案的個數,包括子資料夾裡的 ls lr grep wc l 如統計 home han目錄 包含子目錄 下的所有js檔案則 ls lr home han grep js wc ...

Linux統計某資料夾下檔案 資料夾的個數

統計某資料夾下檔案的個數 ls l grep wc l 統計某資料夾下目錄的個數 ls l grep wc l 統計資料夾下檔案的個數,包括子資料夾裡的 ls lr grep wc l 如統計 home han目錄 包含子目錄 下的所有js檔案則 ls lr home han grep js wc ...

Linux統計某資料夾下檔案 資料夾的個數

統計某資料夾下檔案的個數 ls l grep wc l 統計某資料夾下目錄的個數 ls l grep wc l 統計資料夾下檔案的個數,包括子資料夾裡的 ls lr grep wc l 統計 imagedata data 20161108目錄 包含子目錄 下的所有txt檔案 ls lr imaged...