日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

unix中的grep家族

發(fā)布時(shí)間:2025/3/15 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 unix中的grep家族 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
grep(全局正則表達(dá)式版本)允許對(duì)文本文件進(jìn)行模式查找,grep支持基本正則表達(dá)式,也支持其擴(kuò)展集。
grep有三種變形:
??? grep? 標(biāo)準(zhǔn)grep命令
??? egrep?擴(kuò)展grep命令,支持基本及擴(kuò)展的正則表達(dá)式,但不支持\q模式范圍的應(yīng)用
??? fgrep 快速grep命令,允許查找字符串而不是一個(gè)模式,不要誤解fast,其實(shí)和grep速度相當(dāng)

grep的一般格式:
??? grep [選項(xiàng)] 基本正則表達(dá)式 [文件]?? 這里的基本正則表達(dá)式可為字符
使用雙引號(hào):
??? 字符串參數(shù)最好使用雙引號(hào)擴(kuò)起來,一是以防被誤解為shell命令,二是可以用來查找多個(gè)單詞組成的字符串,在調(diào)用變量的時(shí)候也要使用雙引號(hào),比如grep "$MYVAR",否則無結(jié)果,在調(diào)用模式匹配是,應(yīng)使用單引號(hào)

grep的選項(xiàng):
??? -c 只輸出匹配行的計(jì)數(shù),比如grep -c "test" *.txt,將顯示4,則說明包含test的有4行
??? -i 不區(qū)分大小寫(只適用于單字符),比如grep -i "Bank" *.c等同于grep -i "bank" *.c
??? -h 查詢多文件時(shí)不顯示文件名
??? -l 查詢多文件時(shí)只輸出包含匹配字符的文件名
??? -n 顯示匹配行及行號(hào),在顯示出內(nèi)容的每行前面會(huì)顯示行數(shù)
??? -s 不顯示不存在或無匹配文本的錯(cuò)誤信息
??? -v 顯示不包含匹配文本的所有行,grep?-v "test" abc.txt,將顯示不包含"test"的行內(nèi)容
??? -w?以單詞為單位進(jìn)行匹配
??? -E 允許使用擴(kuò)展模式匹配

grep和正則表達(dá)式:
??? 使用正則表達(dá)式最好使用單引號(hào)括起來,避免參數(shù)被做為shell命令執(zhí)行
??? 模式范圍: grep '48[a-z]' *.txt
??? 不匹配行首: grep '^[^48]' *.txt? 查找行首不是48的行內(nèi)容
??? 設(shè)置大小寫: grep '[Ss]ept' *.txt 查找Sept和sept內(nèi)容
??? 匹配任意字符: grep 'K...D' *.txt???? grep '[A-Z][A-Z]..C' *.txt
????"與"和"或": grep -E '219|216' *.txt? 查找包含219或者216的行內(nèi)容
????空行:? grep '^$'?*.txt
????類名:? [[:upper:]]? ->? [A-Z]??????? [[:lower:]]?? ->???[a-z]
????????? [[:digit:]]? ->??[0-9]????????[[:alnum:]]??->? [0-9a-zA-Z]
??????????[[:space:]]? ->? 空格或者tab鍵?? [[:alpha:]]? ->?? [a-zA-Z]
???????grep '5[[:upper:]]' *.txt 等同于?grep '5[A-Z]' *.txt
????列出所有的目錄?? ls -l |grep '^d'?????
??? 列出所有的非目錄?? ls -l?|grep '^[^d]'? 或? ls -l |grep -v '^d'

轉(zhuǎn)載于:https://www.cnblogs.com/fengyuwuzu1980/archive/2009/03/19/1416221.html

總結(jié)

以上是生活随笔為你收集整理的unix中的grep家族的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。