Linux grep

Linux grep命令

grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來,它的使用權限是所有用戶。

格式

grep [options]

主要參數

​ [options]主要參數:

  • -c:只輸出匹配的行數。

  • -i:不區分大小寫。

  • -h:查詢多文件時不顯示文件名。

  • -l:查詢多文件時只輸出包含匹配字符的文件名。

  • -n:顯示匹配行及行號。

  • -s:不顯示不存在或無匹配文本的錯誤信息。

  • -v:顯示不包含匹配文本的所有行。

    pattern正則表達式主要參數:

  • \:忽略正則表達式中特殊字符的原有含義。

  • ^:匹配正則表達式的開始行。

  • $:匹配正則表達式的結束行。

  • \ <:從匹配正則表達式的行開始。

  • \ >:從匹配正則表達式的行結束。

  • [ ] :單個字符,如[A] 即A符合要求。

  • [ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求。

  • 。:所有單個字符。

  • *有字符,長度可以爲0。

grep命令常見用法

  • 在文件中搜索一個單詞:

grep word file_name

grep "word" file_name

  • 在多個文件中查找:

grep "word" fille_1 file_2 file_3

  • 輸出除了word的所有行:

greo -v "word" file_name

  • 標記匹配顏色:

grep "word" file_name --color=auto

  • 使用正則表達式-E選項:

grep -E "[1-9]+"

egrep "[1-9]+"

  • 只輸出文件中匹配到的部分-o選項:

echo this is a test line.|grep -o -E "[a-z]+\ ."

line.

echo this is a test line. |egrep -o [a-z]+\ ."

line.

  • 搜索多個文件並查找匹配文本在那些文件中:

grep -l "test" file1 file2

  • 在多級目錄中對文本進行遞歸搜索:

grep "test" . -r -n

. 表示當前目錄

  • 忽略匹配樣式中的字符大小寫:

echo "hello word"|grep -i "HELLO"

hello

  • 選項-e 制動多個匹配樣式:

echo this a test line|grep -e "is" -e "line" -o

is

line

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章