在 Linux 中使用 grep 找特定開始字和結束字的方法

閱讀時間約 1 分鐘

語法:

grep '^<starting-character>.*<ending-character>$' <file>


grep 指令可以使用特殊字元的組合: 星號 ( * )、( $ ) 和 ( ^ )來過濾搜尋的內容。在我們的範例中,要使用 grep搜尋以特定字元開頭和結尾的內容,例如搜尋以“L”開頭並以“d”結尾的內容:

grep '^L.*d$' grepfile.txt
raw-image

“^”表示行或句子將從符號“^”後提供的指定字元(L)開始,“$”表示句子或行將從符號“^”之後提供的字符結束在符號“ $」之前,本例為「d」。畫面應該會顯示該符合條件的特定句子或行(如果文字檔案中存在這樣的開頭與結尾)。


另一個例子,我們在文字檔案中搜尋以字元“T”開頭並以字元“.”結尾的句子或行,現在使用的 grep 命令將是:

grep '^T.*.$' grepfile.txt
raw-image


同樣的方法可以同時搜尋多筆文件:

grep '^T.*.$' grepfile.txt grepfile2.txt
raw-image

注意到,內容會同時顯示出搜尋的文件中符合條件的語句。


更多時候,我們只是想要搜尋開頭符合條件的內容(開頭是L的內容):

grep '^L' grepfile.txt
raw-image

一樣的可以用在多個檔案的搜尋:

grep '^L' grepfile.txt grepfile2.txt
raw-image



只搜尋特定字元結尾的內容:

grep '<ending-character>$' <file>


例如,以e結尾的:

grep 'e$' grepfile2.txt
raw-image


多檔搜尋也是一樣的:

grep 'e$' grepfile2.txt grepfile.txt
raw-image









    1會員
    63內容數
    記錄生活與技術的小細節
    留言0
    查看全部
    發表第一個留言支持創作者!