Linux

Linux grep 查找以某個字母開頭並包含某些單詞的文件

  • December 12, 2018

試圖在文件目錄中搜尋以“h”開頭並包含“enu”的文件名?

到目前為止,這就是我所擁有的,我只是不知道如何在一個命令行中處理兩個 grep 語句?

find fs282/path/web/en_US.dic -exec grep "^h" {} \;

要查看文件名,請使用-name. find它應該採用正常文件名模式,因此h*enu*與您想要的匹配。

find /some/path -name "h*enu*"

grep而是逐行查看文件的內容,因此這將查找與模式匹配的行:

find /some/path -type f -exec grep '^h.*enu' /dev/null {} +

(輸出將是行,而不僅僅是文件名。)

grep需要一個正則表達式,而不是 . 的全域萬用字元-name。此外,在行grep查找匹配,而不是與 完全匹配,因此將模式錨定在行的開頭。僅用於確保始終為每個匹配行列印文件名,即使只有一個匹配文件也是如此。使用 GNU 實現,可以改用該選項。-name``^``/dev/null``grep``-H

引用自:https://unix.stackexchange.com/questions/487584