青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

七種武器:grep

Posted on 2009-10-13 17:05 Prayer 閱讀(539) 評論(0)  編輯 收藏 引用 所屬分類: Shell

grep的功能

grep從一個或多個文本文件中查找符合指定范本(正則表達式)的行,并把查找結果輸出到指定設備(默認到屏幕)。

語法:

/usr/bin/grep [選項] <范本(正則表達式)> [文件1 ...]

范本是一個單獨的詞或者是一個用引號括起來的字符串。如果范本包含空格,則范本要用引號括起來。grep默認下把結果輸出到屏幕但是并不影響或改變任何被查找的目標文件。
一些特殊字符($, *, [, ^, |, (, ), 和\)的使用要特別小心,因為這些字符在shell里有特殊意義。如果這些字符作為范本的一部份,請用單引號把整個范式括起來。
# grep root /etc/passwd /etc/shadow
/etc/passwd:root:x:0:0:Super-User:/:/sbin/sh
/etc/shadow:root:PdhpgiTZvqa2:13732::::::

備注:黑體部分是文件名

grep命令的輸入

grep有三種輸入來源:標準輸入(鍵盤)、管道和文件。如果你忘了輸入目標文件,grep會假定從標準輸入設備(鍵盤)取得輸入,直到你按^D(Control+D)。如果是管道,上個命令的輸出將被作為grep的輸入被處理,并把查找結果輸出到指定輸出設備。
global$grep mypattern
hello grep
I forget input file(s)
^D
global$

global$ ps -ef | grep root

global$ grep root /etc/passwd /etc/shadow


grep命令的返回值(不是查找結果)

### 0 (范本在指定文件里被查找到。)
global$grep root /etc/passwd;echo $?
root:x:0:0:Super-User:/:/sbin/sh
0

### 1 (范本在指定文件里沒有查找到)
global$grep roo1t /etc/passwd;echo $?
1

### 2 (指定的目標文件不存在)
global$grep root /etc/passwd1;echo $?
grep: can't open /etc/passwd1
2

備注:Bourn/Korn shell變量,?,返回最后被執行的命令的返回值;C shell變量是status。

grep命令的選項

選項
描述
-c
顯示符合范本的行的數目而不是顯示滿足條件的行的內容
-h
不顯示文件名
-i
忽略大小寫
-l
只列出有滿足條件的行的文件的文件名
-n
顯示滿足條件的行在包含它的文件中的行號
-s
隱形操作,即如果出錯不輸出任何信息。在用于只檢返回值時非常有用。
-v
反向顯示,即輸出不滿足條件的行。

grep的正則表達式的元字符

元字符
功能
列子
描述
^
行首
'^love'
匹配所有以love開始的行
$
行尾
'love$'
匹配所有以love結尾的行
.(點)
匹配任意一個字符
'l..e'
匹配所有包含l,緊跟任意2個字符,再跟一個e的行
*
匹配0個或多個字符
' *love'
匹配所有包含0個或多個空格,再跟love的行
[]
匹配一個在集合里的字符
'[Ll]ove'
匹配包含Love或love的行
[^]
匹配一個不在集合里的字符
'[^A-K]ove'
匹配不包含從A-K的字符,緊跟ove的行
\<
詞首
'\<love'
匹配所有有任一單詞以love為首的行
\>
詞尾
'love\>'
匹配所有有任一單詞以love為尾的行
\(..\)
標識匹配的一個或多個字符
'\(love\)ing'
標識一個標注以期后面引用,第一個用\1,一次類推,最多有9個;見列子
x\{m\}
x\{m,\}
x\{m,n\}
重復字符x:m次
至少m次
在m次到n次之間
'0\{5\}'
'0\{5,\}'
'0\{5,10\}
如果一個行有:連續5個0,至少連續5個0,連續的0在5到10之間,則滿足要求。

例子

  • 查找在/etc下以p為首的文件中有那些行包含有root
# 、/usr/bin/grep root /etc/p*
/etc/passwd:root:x:0:0:Super-User:/:/sbin/sh
/etc/project:user.root:1::::

  • 輸出所有的非空行
$ /usr/bin/grep . $HOME.profile

$ /usr/bin/grep ^$ /etc/passwd | wc -l (本命令統計/etc/passwd里有幾行空行)

  • 輸出/etc/passwd中包含root或者sys的行
$/usr/xpg4/bin/grep -e 'root' -e 'sys' /etc/passwd  或者
$/usr/xpg4/bin/grep -E 'root|sys' /etc/passwd
root:x:0:0:Super-User:/:/sbin/sh
sys:x:3:3::/:


  • 輸出所有行,此行包含這樣的一個單詞,它以小寫字母打頭,緊跟任意個字符,以n結尾
$ grep '\<[a-z].*n\>' /etc/passwd (注意.*,它表示任意個字符,包括空格)

  • 輸出行,它包含一個3,緊跟著一個點和一個數字,再緊跟任意個字符(.*),再跟一個3(前面標識過了),一個或多個TAB,再跟一個3. 因為3前面被標識過,\(3\),所以后面引用只要用\1就可以了。
$ grep '\(3\)\.[0-9].*\1   *\1' /etc/passwd

注:你可以替換3為任意你想要的其他字符
  • 輸出行,這些行有單詞至少包含9個連續的小寫字母
$grep '[a-z]\{9,\}' /etc/passwd

  • 輸出當前目錄下文件名,這些文件包含有這樣子的行,這些行包含有'SE'字符串,忽略大小寫。
$ grep -l -i 'se' *

egrep(擴展的grep)

元字符
功能
例子
描述
+
匹配一個或多個前導字符
'[a-z]+ove'
匹配一個或多個小寫字符,緊跟ove.如love,loove,alove

匹配0個或一個前導字符
'lo?ve'
匹配以l開始,緊跟零個o或者一個o,在跟ve.如lve,love
a|b
匹配a或者b
'love|hate'
匹配love或者hate
()
分組
'lov(able|ly)?'
匹配lovable或者lovly,或者lov
  • 包含S,緊跟h或者u
$ egrep 'S(h|u)' /etc/passwd
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲砖区区免费| 最新国产成人在线观看| 日韩视频永久免费观看| 久久一区二区三区av| 小黄鸭视频精品导航| 夜夜嗨av一区二区三区| 日韩视频一区二区三区在线播放| 伊人成人网在线看| 国产日韩欧美在线看| 国产日韩高清一区二区三区在线| 亚洲久久一区| 亚洲人成网站色ww在线| 嫩草国产精品入口| 99精品久久久| 亚洲一区二区三区免费观看| 亚洲一区一卡| 嫩模写真一区二区三区三州| 免费中文字幕日韩欧美| 欧美日韩免费一区二区三区视频| 国产精品免费视频xxxx| 在线成人免费视频| 亚洲欧美日韩国产中文| 欧美chengren| 亚洲欧美久久久| 欧美电影在线观看| 国产日韩欧美a| 99精品国产福利在线观看免费| 久久久精品国产99久久精品芒果| 亚洲国产日韩在线| 久久网站热最新地址| 国产精品久久77777| 亚洲一区二区三区高清| 欧美激情性爽国产精品17p| 亚洲欧美在线磁力| 欧美性大战xxxxx久久久| 这里只有精品电影| 欧美激情日韩| 免播放器亚洲一区| 亚洲欧洲三级电影| 欧美激情亚洲| 欧美日韩国产亚洲一区| 日韩午夜免费视频| 亚洲国产日韩欧美| 欧美日精品一区视频| 欧美国产先锋| 亚洲娇小video精品| 欧美jizzhd精品欧美巨大免费| 久久久久久999| 国产日韩一区在线| 欧美成人69av| 欧美日韩午夜在线视频| 亚洲综合色网站| 欧美影院久久久| 国内自拍一区| 亚洲免费观看高清完整版在线观看| 欧美性猛交xxxx乱大交蜜桃| 性感少妇一区| 欧美精品性视频| 久久青草福利网站| 欧美午夜电影在线| 欧美成人免费全部| 国产精品久久久久久久久久ktv| 欧美一区免费| 欧美天堂在线观看| 亚洲国语精品自产拍在线观看| 国产精品一区久久| 欧美成人免费va影院高清| 国产啪精品视频| 一本色道久久综合亚洲二区三区| 在线精品视频一区二区| 亚洲一区区二区| 亚洲一区亚洲| 欧美日韩亚洲成人| 亚洲美女福利视频网站| 亚洲二区视频在线| 久久久久久精| 麻豆国产精品777777在线 | 欧美一区二区三区啪啪| 欧美日韩国产黄| 精品粉嫩aⅴ一区二区三区四区| 一区二区三区国产| 在线一区二区三区做爰视频网站| 欧美成人激情视频| 亚洲人成人一区二区三区| 99热免费精品在线观看| 欧美精品乱人伦久久久久久 | 激情久久综艺| 欧美诱惑福利视频| 欧美成人午夜剧场免费观看| 亚洲国产91精品在线观看| 久久婷婷久久| 一本色道久久综合亚洲精品按摩| 欧美尤物一区| 黄色小说综合网站| 欧美理论电影网| 亚洲午夜免费福利视频| 免费不卡亚洲欧美| 在线一区日本视频| 在线观看精品视频| 国产精品网红福利| 蜜臀久久99精品久久久画质超高清| 一区二区日韩| 欧美 日韩 国产精品免费观看| 亚洲永久视频| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 一区二区三区不卡视频在线观看| 久久久久成人网| 日韩午夜在线观看视频| 国产视频在线观看一区二区三区 | 亚洲尤物视频网| 亚洲黄色片网站| 一区二区亚洲精品国产| 国产精品www.| 国产精品theporn| 国产精品xxxav免费视频| 欧美sm视频| 欧美精品一区二区三区久久久竹菊 | 久久精品2019中文字幕| 日韩一级免费观看| 亚洲国产精品成人综合| 在线观看视频一区二区| 伊人久久成人| 日韩小视频在线观看专区| 亚洲日韩欧美一区二区在线| 一区二区三区在线视频观看| 亚洲二区免费| 亚洲视频第一页| 久久久九九九九| 免费成人av| 亚洲一区二区3| 久久久亚洲精品一区二区三区| 欧美成年人视频| 国产精品久久久久999| 一区免费观看| 亚洲综合电影| 亚洲福利视频二区| 亚洲线精品一区二区三区八戒| 久久精品国产久精国产思思| 欧美伦理视频网站| 国语自产精品视频在线看一大j8 | 日韩网站在线| 久久激情综合网| 亚洲经典视频在线观看| 欧美一区二区成人6969| 欧美日韩一区高清| 亚洲福利视频免费观看| 亚洲欧美在线一区| 亚洲最新在线| 欧美日韩一区三区四区| 日韩视频在线一区二区| 欧美精品在欧美一区二区少妇| 国产精品羞羞答答xxdd| 亚洲性图久久| 亚洲香蕉成视频在线观看| 欧美日韩三级在线| 中文精品视频| 亚洲一区二区精品视频| 国产欧美精品一区aⅴ影院| 亚洲午夜激情免费视频| 亚洲一区二区网站| 国产欧美精品日韩精品| 久久激情婷婷| 久久精品麻豆| 99精品国产一区二区青青牛奶| 亚洲日本在线观看| 国产精品日韩欧美一区| 久久久国产精品一区| 午夜精品久久久久久久| 国产亚洲欧美一区在线观看| 久久综合一区| 欧美日韩一二区| 久久综合九色欧美综合狠狠| 欧美精品成人91久久久久久久| 亚洲欧美日韩成人| 免费不卡视频| 久久狠狠亚洲综合| 欧美日本免费一区二区三区| 久久精品二区| 欧美日韩在线免费观看| 欧美顶级少妇做爰| 亚洲欧美一区二区激情| 久久久国产91| 欧美在线关看| 欧美日韩另类一区| 美女精品一区| 国产一区高清视频| 亚洲天堂av图片| 日韩午夜电影在线观看| 免费在线欧美黄色| 久久精品首页| 国产精品高清在线| 亚洲一区二区三区在线| 亚洲影院免费| 国产精品亚洲综合| 一本久久a久久免费精品不卡| 亚洲精品女人| 欧美日韩精品免费观看| 一本久久知道综合久久| 亚洲午夜精品网| 国产农村妇女毛片精品久久麻豆|