Linux基礎6-1 grep和正則表達式

 

grep:查找文件中符合條件的字符串正則表達式

  • 根據模式搜索文件內容,並將符合模式的字符串行顯示出來
  • 語法:grep [選項][模式][文件或目錄名]
  • 選項:
    • -i :查找時,忽略字符大小寫
    • --color:將匹配的行的關鍵字,以高亮的顏色顯示
    • -v :反向匹配,被模式匹配的行不顯示,不匹配的行顯示
    • -o :值顯示被模式匹配的字符串
    • -E :使用擴展正則表達式
    • -A n :表示匹配到字符後面的n行也顯示
    • -B n :表示匹配到字符前面的n行也顯示
    • -C n:表示匹配到的字符先後n行都顯示

 

正則表達式(基本):

  • 元字符:
    • . :匹配任意單個字符
    • [] :匹配指定範圍內的任意單個字符
    • [^] :匹配指定範圍外的任意單個字符
    • 字符集合:
  • 匹配次數
    • * :匹配其前面的字符任意次
    • .* :匹配任意長度的任意字符
    • \? :匹配其前面的字符一次或0次
    • \{m,n}:匹配其前面的字符,最少m次,最多n次,n最屢次能夠忽略,可是m最少次不能忽略
  • 位置鎖定
    • ^ :鎖定行首,此字符後面的任意內容爲行首
    • $ :鎖定行尾,此字符前面的任意內容爲行尾
    • ^$ :匹配空白行
    • \< 或 \b :其後面的任意字符,必須做爲單詞的首部出現
    • \> 或 \b :其前面的任意字符,必須做爲單詞的尾部出現

分組:spa

  • \(m..n\):後向引用
    • \1 :引用第一個左括號以及與之對應的右括號所包含的內容一致
    • 第一個匹配的字符串組,以後匹配的要同第一個一致

 

正則表達式(擴展):grep -E = egrepblog

  • 字符匹配
    • . :匹配任意單個字符
    • [] :匹配範圍內的任意單個字符
    • [^] :匹配範圍外的任意單個字符
  • 字符匹配
    • * :匹配其前面字符任意次
    • ?:匹配其前面的字符1次或0次
    • + :匹配其前字符至少一次
    • {m,n} :匹配最少m次,最多n次
  • 位置鎖定
    • ^ :鎖定行首,此字符後面的任意內容爲行首
    • $ :鎖定行尾,此字符以前的任意內容爲行尾
    • ^$ :匹配空白字符
    • \< 或 \b :其後面的任意字符,必須爲單詞的首部出現
    • \> 或 \b :其前面的任意字符,必須爲單詞的尾部出現
  • 分組
    • ():分組
    • \1,\2,\3...
  • 或語句
    • a | b :a事件或b事件
相關文章
相關標籤/搜索