Linux - grep 命令參數說明

在Linux 環境中,常用 grep 來搜尋文本內容,找出匹配的項目

grep 全寫是 (global search regular expression(RE) and print out the line)

底下介紹 grep 參數用法

參數說明

-a 包含二進位數據
-A 顯示符合的那一行,同時顯示該行之後的內容
-b 顯示符合的那一行,以及之前的內容
-c 符合關鍵字的列數
-C<顯示列數> 顯示符合的那一行及前後內容
-d<動作> 查詢資料夾(忽略文件)
-e<符合條件的內容> 指定搜尋指定文件
-E 使用正則表示式搜尋
-f<範本文件> 指定符合條件的內容,尋找內容,並且將每一列套用樣式
-F 符合條件的內容作為固定字串的列表
-G 將符合條件的內容作為普通的表示法
-h 在顯示符合條件的內容之前,不標示該文件名稱
-H 在顯示符合條件的內容之前,會標示該文件的名稱
-i 不區分大小寫
-l 列出符合條件的內容的文件名稱
-L 列出不符合條件的內容的文件名稱
-n 顯示符合條件的內容的行數,及位置
-q 不顯示訊息
-R/-r  -d
-s 不顯示錯誤訊息
-v 反轉搜尋
-w 只顯示文字完全符合的列
-x 只顯示全列都符合的列
-y  -i
-o 只輸出文件匹配到的部分

基本用法說明

文中搜尋指定單字,需包含 myword

grep "myword" /檔案資料夾路徑

在多個目錄搜尋

grep "myword" 資料夾1 資料夾2 資料夾3

將指定搜尋的文字,以顏色標記

grep "myword" 資料夾 --color .

使用正則表示式搜尋

grep -E "[a-Z]" 資料夾

輸出搜尋到文字,位於該文件的行數

grep -n 

搜尋匹配文字,以及指定文件副檔名

例如,只顯示出 .php 及 .html 的文件

grep "mywrod" . -r --include "*.{php, html}"

排除指定檔案類型

grep "myword" . -r --exclude "README"

排除指定資料夾

grep "myword" . -r --exclude-from 資料文件列表