亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell正則表達式

發布時間:2020-10-07 02:12:52 來源:網絡 閱讀:588 作者:柴鑫旺 欄目:MySQL數據庫

     Shell腳本擴展

正確表達式

正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。

1. 支持的命令:

grepvimfindawksed等。

1.代表任意單個字符, 如:/l..e/與包含一個l,后跟兩個字符,然后跟一個e的行相匹配 

shell正則表達式

檢索wang.txt文件中匹配s字符的。

2、^代表行的開始。 ^love 如:與所有love開頭的行匹配 

shell正則表達式

檢索wang.txt文件中以N開頭的。

3$代表行的結束。love$ 如:與所有love結尾的行匹配 

那么^$就表示空行

shell正則表達式

通配符

shell正則表達式

檢索wang.txt文件中匹配小寫字母az之間的。

注意:

[abc]表示匹配單個字符abc

[123]表示匹配單個字符123

[A-Z]表示匹配大寫字母A-Z之間一個

[^a]表示取反,匹配除去小寫字母a的。

5、* 用于修飾前導字符,表示前導字符出現0或任意多

shell正則表達式

檢索wang.txt文件中出現0次或多次T

6、\? 用于修飾前導字符,表示前導字符出現01


shell正則表達式

7、\+ 用于修飾前導字符,表示前導字符出現1或多

shell正則表達式

8、\{n,m\}  用于修飾前導字符,表示前導字符出現n至m次 n和m都是整數,且n<m)

 表示前導字符出現nm次;

 n/m為整數,并且m>n

 其他形式:

\{n\}連續的n個前導字符;

\{n,\}連續的至少n個前導字符;


shell正則表達式

檢索wang.txt文件中出現24n

9、\  用于轉義緊跟其后的單個特殊字符,使該特殊字符成為普通字符

shell正則表達式

檢索wang.txt文件中含有.的。

10、|表示  如: a|b|c 匹配abc。如:grep|sed匹配grepsed

shell正則表達式

檢索wang.txt文件中含有ab的。

11、(),將部分內容合成一個單位組,比如 要搜索 glad  good 可以如下 'g(la|oo)d'

shell正則表達式

二、grep命令的用法

參數:

1. -A NUM--after-context=NUM   除了列出符合行之外,并且列出后NUM行。

shell正則表達式

列出chai.txt文件中Tom行與后倆行

2. -B NUM--before-context=NUM   -A NUM 相對,但這此參數是顯示除符合行之外并顯示在它之前的NUM行。

shell正則表達式

列出chai.txt文件中Tom行與前倆行。

3 -C [NUM], -NUM, --context[=NUM]  列出符合行之外并列出上下各NUM行,默認值是2

shell正則表達式

列出chai.txt文件中Tom行與前后倆行。

4 -c, --count  不顯示符合樣式行,只顯示符合的總行數。若再加上-v,--invert-match,參數顯示不符合的總行數

shell正則表達式

列出chai.txt文件中含有Tom的行數;

列出chai.txt文件中不含有Tom的行數。

5-i--ignore-case 忽略大小寫差別

shell正則表達式

列出chai.txt文件中含有tom(大小寫)的行。

6、-n--line-number 在匹配的行前面打印行號

shell正則表達式

列出chai.txt文件中含有tom(大小寫)的行,并且打印出行號。

7-v--revert-match  反檢索,只顯示不匹配的行

shell正則表達式

列出chai.txt文件中不含有tom的行。

8、精確匹配:

例如在抽取字符串“ 48”,返回結果包含諸如484和483等包含“48”的其他字符串,實際上應精確抽取只包含48的各行。

shell正則表達式

精確列出chai.txt文件中含有30的行。

9、-s 不顯示不存在或無匹配文本的錯誤信

shell正則表達式

xin.txt文件不存在,檢索時候提示搜索不到的錯誤信息,

如果不要錯誤信息提示,則加上-s

三、sed命令的用法

1sed是一種在線編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為模式空間pattern space),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。

2把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。

3文件內容并沒有改變,除非你使用重定向存儲輸出。

1替換: s命令
  1.1 基本用法 

shell正則表達式

chai.txtThe替換成chai,輸出到aaa.txt文件中。

sed 替換命令

/../../分隔符(可以用其他符合代替)

The 搜索的字符串

chai  替換的字符串

<chai.txt>  搜索的文件  

aaa.txt   輸出到的文件

1.2  & 表示匹配的字符串

有時可能會想在匹配到的字符串周圍或附近加上一些字符 .
 如: sed 's/abc/(abc)/' <old >new

shell正則表達式

sed 默認只替換搜索字符串的第一次出現 , 利用 /g 可以替換搜索字符串所有

如果需要對同一文件或行作多次修改,可以使用 "-e" 選項

3.刪除行:d命令

從某文件中刪除包含 "how" 的所有行

shell正則表達式

將passwd內容顯示并打印行號,同時刪除25行。

nl命令在linux系統中用來計算文件中行號。nl 可以將輸出的文件內容自動的加上行號。

4.增加行:a命令(在指定的行后新增)或i命令(在指定的行前新增)

a的后面可以接字符串,而這些字符串會在新的一行出現

/etc/passwd的第二行后增加XXXXX”字樣的新行

shell正則表達式

passwd內容顯示并打印行號,同時在第二行后新增hello

shell正則表達式

passwd內容顯示并打印行號,同時在第二行前新增hello

如果要同時新增多行,則每行之間要用反斜杠\來進行新行的添加

shell正則表達式

5、取代行:c命令

c的后面可以接字符串,這些字符串可以取代n1,n2之間的行

取代行

shell正則表達式

將passwd內容顯示并打印行號,同時取代25行間內容。

6、打印:p命令 

sed '/north/p' datafile 默認輸出所有行,找到north的行重復打印 

shell正則表達式

僅列出passwd文件中的第57行內容。

sed -i選項可以直接修改文件中的內容

shell正則表達式

6.擴展:

調用sed有三種方式:

在命令行鍵入命令

sed命令插入腳本文件,然后調用sed

sed命令插入腳本文件,并使sed腳本可執行。

A、 使用sed命令行格式為:

sed [選項] sed命令 輸入文件。

記住在命令行使用sed命令時,實際命令要加單引號。sed也允許加雙引號。

 

B、使用sed腳本文件,格式為:

sed [選項] -f sed腳本文件  輸入文件

 

C、要使用第一行具有sed命令解釋器的sed腳本文件,其格式為:

sed腳本文件 [選項]  輸入文件

shell正則表達式

第一行是sed命令解釋行。腳本在這一行查找sed以運行命令,這里定位在/bin。

第二行以/company/開始,這是附加操作起始位置。a\通知sed

是一個附加操作,首先應插入二個新行。

第三、四行是附加操作要加入到拷貝的實際文本。

shell正則表達式






向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绍兴县| 剑河县| 乐山市| 抚州市| 平阳县| 霍林郭勒市| 陇川县| 斗六市| 闸北区| 宝丰县| 专栏| 南安市| 马关县| 太康县| 清远市| 泸西县| 阿勒泰市| 遂宁市| 保康县| 于都县| 福鼎市| 西丰县| 清镇市| 卢氏县| 灵川县| 常熟市| 绥中县| 邮箱| 墨竹工卡县| 巴彦淖尔市| 澎湖县| 桓台县| 垣曲县| 邻水| 教育| 镇平县| 资中县| 长阳| 鄂托克前旗| 竹山县| 离岛区|