[linux]grep命令及遇到的問題總結

1.作用

Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行打印出來。grep全稱是GlobalRegularExpression Print,表示全局正則表達式版本,它的使用權限是所有用戶。

2.格式

grep [參數]搜索的內容 搜索的文件

3.主要參數

-a 不要忽略二進制數據
-A<顯示列數>除了顯示符合範本樣式的那一行之外,並顯示該行之後的內容
-b 在顯示符合範本樣式的那一行之外,並顯示該行之前的內容
-c 計算符合範本樣式的列數
-C<顯示列數>或-<顯示列數> 除了顯示符合範本樣式的那一列之外,並顯示該列之前後的內容
-d<進行動作>當指定要查找的是目錄而非文件時,必須使用這項參數,否則grep命令將回報信息並停止動作
-e<範本樣式>指定字符串作爲查找文件內容的範本樣式
-E 將範本樣式爲延伸的普通表示法來使用,意味着使用能使用擴展正則表達式
-f<範本文件>指定範本文件,其內容有一個或多個範本樣式,讓grep查找符合範本條件的文件內容,格式爲每一列的範本樣式
-F 將範本樣式視爲固定字符串的列表
-G 將範本樣式視爲普通的表示法來使用
-h 在顯示符合範本樣式的那一列之前,不標示該列所屬的文件名稱
-H 在顯示符合範本樣式的那一列之前,標示該列的文件名稱
-i 胡列字符大小寫的差別
-l 列出文件內容符合指定的範本樣式的文件名稱
-L 列出文件內容不符合指定的範本樣式的文件名稱
-n 在顯示符合範本樣式的那一列之前,標示出該列的編號
-q 不顯示任何信息
-R/-r 此參數的效果和指定“-drecurse”參數相同
-s 不顯示錯誤信息
-v 反轉查找
-w 只顯示全字符合的列
-x 只顯示全列符合的列
-y 此參數效果跟“-i”相同
-o 只輸出文件中匹配到的部分

4.遇到的問題

     4.1 當搜索條件串包含 | (通道符)的時,系統會拋出命令格式錯誤。

[root@esbtest test]# grep |123 test

-bash: 123: command not found

Usage: grep [OPTION]... PATTERN [FILE]...

Try `grep --help' for more information.

 

解決方法:使用''或""將搜索條件包起來。

[root@esbtest test]# grep '111|222' test

111|222

  4.2 當搜索條件以 - 符號 開頭時,搜索會一直進行。

[root@esbtest test]# grep 456 test

-456

[root@esbtest test]# grep -456 test

解決方法:使用-e 參數,將查找字符串整個作爲查找文件的範本。

[root@esbtest test]# grep 456 test

-456

[root@esbtest test]# grep -e -456 test

-456

 

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