1、grep
1.1 基本介紹
grep (globally search a regular expression and print)一種強大的文字搜尋工具,能使用特定模式匹配(包括正規表示式)搜尋文字,並預設輸出匹配行。unix的grep家族包括grep、egrep和fgrep。windows系統下類似命令findstr。
egrep和fgrep的命令只跟grep有很小不同。egrep和fgrep均為grep的擴充套件,支援更多的re元字元,fgrep就是fixed、grep或fast grep,它們把所有的字母都看作單詞,也就是說,正規表示式中的元字元表示回其自身的字面意義,不再特殊。linux使用gnu版本的grep。並且可以通過-g、-e、-f命令列選項來使用egrep和fgrep的功能。
1.2 工作方式
grep在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到螢幕,不影響原檔案內容。grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果搜尋的檔案不存在,則返回2。我們利用這些返回值就可進行一些自動化的文字處理工作。
1.3 基本用法
格式:grep 匹配條件 處理檔案
示例:
grep root passwd ##過濾出有關root的行
引數:引數
含義示例
^以某字元開頭
grep ^root passwd
$以某字元結尾
grep root$ passwd
-i忽略大小寫
grep -i root passwd
\<
之前無字元
grep -e "\\>
之後無字元
grep -e "root\>" passwd
-num
顯示匹配字元的前後num行
grep -num
-n顯示行號
grep -n
-a顯示匹配字元的num下行
grep -a num
-b顯示匹配字元的num下行
grep -b num
-v逆向顯示
grep -v
【注】示例中的 -e 和表示 egrep 該命令的使用和後面的匹配格式有關(與正規表示式的規則相同)。
命令演示:
實驗素材建立:
將/etc/passwd 分為上下兩部分,並分別儲存於/mnt/passwd1 和/mnt/passwd2 中;並修改passwd1的內容:
引數:
1.4 匹配字元個數規則
用法:w---s #w s 為匹配字元的首尾,----表述輸入的規則;
引數含義:規則
表示所含字元個數
.每個點表示乙個佔位,可有多個
*表示任意多個
?0或1個
+大於等於1個
n個大於等於n個
m到n個
0-n個
(ee)
有n個ee
【注】這裡的規則依然和正規表示式相同,因為正規表示式較為複雜,這裡將使用的列出。
命令演示:
實驗素材:
編寫檔案test,內容如下:
引數:
shell中的文字處理工具之awk
1.用法 awk f 分隔符 begin end filename 1.行數,列數 命令作用 nr行數 nf列數 練習 2.條件 用法 作用 條件1 條件2 條件1或者條件2 條件1 條件2 條件1或者條件2 條件1 條件2 條件1並且條件2 0 所有的列 1 第一列 2 第二列 3 第三列 練習 ...
文字處理工具
參考 man,info,magedu講義 宣告 以下英文純屬個人翻譯,英文b級,歡迎糾正,以下內容純屬個人理解,並沒有對錯,只是參考,盜版不糾,才能有限,希望不誤人子弟為好。these commands read and write entire files,possibly transformin...
文字處理工具
linux 上文字處理三劍客 grep 文字過濾工具 模式 pattern awk linux上的實現為gwak 文字報告生成器 格式化文字 正規表示式 regual expression regexp 由一類特殊字元及文字所編寫的模式,其中有些字元表示其字面意義,grep options colo...