国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

grep

2024-06-28 14:31:56
字體:
來源:轉載
供稿:網友

Grep(Global search REgular exPRession and Print out the line)搜索以 FILE 命名的文件輸入,或者是標準輸入,尋找含有與給定的模式 PATTERN 相匹配的內容的行,默認情況下, grep 將把含有匹配內容的行打印出來。

Grep有兩種變種程序,egrep和 fgrep,egrep就相當于 grep -E,fgrep則相當于grep -F

Synopsis

grep [optionsPATTERN [FILE...] 
grep [options] [-e PATTERN | -f FILE] [FILE...]

選項 Options

  • -A num 打印出緊隨匹配的行下文的num行,在相鄰的匹配組之間用--分割
  • -B num 打印出匹配行的上文的num行,在相鄰的匹配組之間用--分割
  • -C num 打印出匹配行的上文和下文各num行,在相鄰的匹配組之間用--分割
  • -b     在輸出匹配的行前面打印出當前行在輸入文件中的字節偏移量
  • -c    只會打印出匹配行的總數,與-v聯用,為不匹配行的總數
  • --color=[color]  匹配周圍的顏色標記,color可以是always,nerver,auto
  • -E    擴展的正則表達式
  • -F    將模式PATTERN視為一個固定的字符串的列表,用新行分隔,只要匹配其中之一即可
  • -P    將模式PATTERN視為一個Perl正則表達式
  • -G    將模式PATTERN視為一個基本的這則表達式,這是默認的
  • -f file   從文件file中獲取模式,每行算一個模式,空文件0個模式
  • -H    為每個匹配行打印文件名
  • -h    當搜索多個文件的時候,禁止在輸出行前面加上文件名
  • -i    忽略模式PATTERN和輸入文件中的大小寫的分別
  • -a    不要忽略二進制文件
  • -L    禁止通常的匹配輸出,它會輸出每個不會產生輸出的輸入文件的名字,它在對文件進行掃描時在遇到第一個匹配時停止
  • -I    (忽略二進制文件)禁止通常的匹配輸出,他只會輸出每個產生輸出的輸入文件的名字,它在對文件進行掃描時在遇到第一個匹配時停止
  • -m num 在找到num個匹配行之后,不在讀這個這個文件。如果輸入是來自一個普通文件的標準輸入,并且已經輸出了 num個匹配的行, grep 保證標準輸入被定位于退出時的最后一次匹配的行之后,不管是否指定了要輸出緊隨的下文的行。這樣可以使一個調用程序恢復搜索。當 grep 在 num個匹配的行之后停止,它會輸出任何緊隨的下文的行。當使用了 -c 或 --count 選項的時候, grep不會輸出比 NUM 更多的行。當指定了 -v 或 --invert-match 選項的時候, grep 會在輸出NUM 個不匹配的行之后停止。
  • -n    在輸出的每行前面加上它所在文件中的行號
  • -o    只顯示匹配行中與PATTERN相匹配的部分
  • -q    安靜,不輸出任何東西,如果找到任何匹配的內容就會立即意以狀態值0退出
  • -R,-r   遞歸讀取目錄下的所有文件
  • --include=PATTERN  僅僅在搜索匹配PATTERN的文件時在目錄中遞歸搜索
  • --exclude=PATTERN  在目錄中遞歸搜素,但是跳過匹配PATTERN的文件
  • --exclude-dir=Path   忽律文件夾
  • -V    打印grep版本號
  • -v    取反,只選擇不匹配的行

基本正則表達式的元字符

  • 字符串匹配 

    .------------- 匹配任意單個字符
            []------------- 匹配指定范圍內的任意單個字符
            [^]------------- 匹配指定范圍內的任意單個字符

            [:lower:]------------- 所有小寫字母

            [:upper:]------------- 所有大寫字母

            [:alpha:]------------- 所有字母

            [:alnum:]------------- 所有數字和字母

            [:digit:]------------- 所有數字

            [:space:]------------- 所有空白字符

            [:punct:]------------- 所有標點符號

  • 次數匹配

    *------------- 任意次    

            /?------------- 0或1次

            /+------------- 1或多次;
            /{m/}------------- 精確限制為m次
            /{m,n/}------------- 至少m次,至多n次,[m,n]
            /{0,n/}------------- 至多n次
            /{m,/}------------- 至少m次

  • 位置錨定

     ^------------- 行首錨定,用于模式的最左側
           $------------- 行尾錨定,用于模式的最右側
           /<或者/b------------- 詞首錨定,用于表示單詞的模式的左側
           />或者/b------------- 詞尾錨定,用于表示單詞的模式的右側
           ^$------------- 空白行

  • 分組

    ()

    |

Fgrep

就是把所有的字母都看作單詞,也就是說,正則表達式中的元字符表示回其自身的字面意義,不再特殊。

Egrep

egrep改良了許多傳統 grep 不能或不便的操作,如:
grep 中的?和+要寫成/?,/+, 但 egrep 不用
grep 不支持a|b或 (abc|xyz) , 但 egrep 則可以
grep 在處理次數匹配x{n,m} 時, 要用 /{ 與 /} 處理,egrep 則不用
。。。只知道這么多了,歡迎補充!


上一篇:Vim快捷鍵整理

下一篇:Tesseract安裝

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍林郭勒市| 瑞金市| 金阳县| 尚义县| 灌南县| 任丘市| 景宁| 宁国市| 民县| 丹棱县| 曲阜市| 中西区| 益阳市| 邯郸县| 运城市| 扎鲁特旗| 荣成市| 天水市| 仁寿县| 西城区| 巨野县| 石嘴山市| 镇雄县| 高青县| 乳源| 河北区| 农安县| 临沭县| 宣恩县| 兴海县| 九台市| 宁晋县| 安平县| 七台河市| 高淳县| 宁陕县| 葫芦岛市| 布拖县| 贵阳市| 阜平县| 萨迦县|