日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux学习笔记(十二)

發布時間:2023/12/16 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux学习笔记(十二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正則表達式基礎

1.正則表達式 regular expression
一個正則表達式通常被稱為一個模式(pattern),為來描述或者匹配一系列符合某個句法規則的字符串。

2.基本語法

選擇:
| “boy|girl”可以匹配boy或girl

數量限定:

  • 表示前面的字符必須出現至少一次(1次或多次),如“goo+gle”可以匹配“gooole”,“goooole”
    ? 表示前面的字符最多出現一次(0次或1次),如“colou?r”可以匹配“color”、“colour”
  • 表示前面的字符可以不出現、或者出現一次或者出現多次(0次、或1次、或多次),如“0*42”可以匹配42、042、0042、00042等

范圍和優先級:
( ) 用來定義定義模式字符串的范圍和優先級。
如gr(a|e)y 等級與gray|grey
(grand)?father 匹配father和grandfather

部分語法:
? 將系一個字符標記為一個特殊字符或一個原義字符。如“n”匹配“n”,“\n”匹配換行符,“\”匹配,(匹配(

^ 匹配輸入字符串的開始位置
$ 匹配輸入字符串的結束位置
{n} n是一個非負整數,匹配確定的n次
{n,} n是一個非負整數,至少匹配n次。{1,}等價于+,{0,}等價于*
{n,m} n,m均為非負整數,n<m,最少匹配n次,最多匹配m次

  • 匹配前面的子表達式零次或多次
  • 匹配前面的子表達式一次或多次
    ? 匹配前面的子表達式零次或一次
    ? 當?緊跟在任何一個其他限制符(*,+,?,{n},{n,},{n,m})后面,匹配模式是非貪婪的,非貪婪模式盡可能少的匹配所搜索的字符串,而默認的貪婪模式盡可能多的匹配所搜索的字符串。如“00000”,“0+?”匹配“0”,“0+”匹配所有0
    (patter)匹配pattern并獲取之一匹配的子字符串
    x|y 匹配x或y
    [xyz] 字符集合,匹配所包含的任意一個字符。其中特殊字符僅有反斜線\保持特殊含義,用于轉義字符。其它特殊字符如星號、加號、各種括號等均作為普通字符。脫字符^如果出現在首位則表示負值字符集合;如果出現在字符串中間就僅作為普通字符。連字符 - 如果出現在字符串中間表示字符范圍描述;如果如果出現在首位則僅作為普通字符

[^xyz] 排除型字符集合。匹配未列出的任意字符。
[a-z] 字符范圍,匹配制定范圍內的任意字符
[^a-z] 排除型字符范圍。匹配任何不在制定范圍內的任意字符

3.優先級
轉義符、括號中括號、限定符、定位點和序列(^,$,\任何元字符)、選擇

4.grep模式匹配命令
grep命令用于打印輸出文本中匹配的模式串,使用正則表達式作為匹配條件。
grep 參數 模式 file
-b 將二進制文件作為文本來進行匹配
-c 統計與模式匹配的數目
-i 忽略大小寫
-n 顯示匹配文本所在行的行號
-v 反選,輸出不匹配行的內容
-r 遞歸匹配查找
-A n after,除列出匹配行外,還列出后面的n行
-B n before,除列出匹配行外,還列出前面的n行
--color=auto 將輸出的匹配項設置為自動顏色顯示

grep支持三種正則表達式引擎
-E ERE,擴展正則表達式
-G BRE,基本正則表達式
-P PCRE ,perl正則表達式

5.使用正則表達式:
基本正則表達式BRE

...位置:查找/etc/group文件中以“shiyanlou”開頭的行
grep ‘shiyanlou’/etc/group
grep '^shiyanlou' /etc/group

...數量:

...選擇:

完整的特殊符號及說明:

6.使用擴展正則表達式ERE
grep -E 或者用egrep

...數量:

...選擇:

其中.有特殊含義,需要轉義

7.sed流編輯器
sed工具用于過濾和轉換文本的流編輯器
sed 參數 執行命令 file
-n 安靜模式,只打印受影響的行,默認打印輸入數據的全部內容。
-e 用于腳本中添加多個執行命令一次執行,在命令行中執行多個命令通常不需要加蓋參數
-f filename 執行指定filename文件中的命令
-r 使用擴展正則表達式,默認為標準正則表達式
-i 將直接修改輸入文件內容,而不是打印到標準輸出設備

sed編輯器的執行命令--略

8.awk文本處理工具--略

轉載于:https://www.cnblogs.com/xflyer/p/10422174.html

總結

以上是生活随笔為你收集整理的linux学习笔记(十二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。