正則表達式 grep與sed的文本處理


一:整理正則表達式

正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。它由一些普通字符和一些元字符(metacharacters)組成。普通字符包括大小寫的字母和數字,而元字符則具有特殊的含義。

主要常用的有:

元字符 功能 元字符 功能
^ 匹配字符串的開始位置 $ 匹配字符串的結束位置
. 匹配任意單個字符 * 匹配子表達式0次或n次
+ 匹配子表達式一次或n次 {n} 匹配n次
{n,} 至少匹配n次 {n,m} 匹配n-m次
匹配子表達式一次或0次 () 將括號里面的表達式定義為組
[xyz] 匹配xyz任意一個字符 [a-Z] 匹配指定字符范圍的任意一個
[^a-Z] 匹配不在范圍的任意字符 |

二:grep使用(正則表達式及字符處理)

目標文件/etc/passwd,使用grep命令或egrep

1.顯示出所有含有root的行:

Image(58)

2.輸出任何包含bash的所有行,還要輸出緊接着這行的上下各兩行的內容:

Image(59)

3.  顯示出有多少行含有nologin。

Image(60)

4.顯示出那些行含有root,並將行號一塊輸出。

Image(61)

5.顯示出文件中

6.新建用戶

    abominable

    abominate

    anomie

    atomize

 編寫正則表達式,將他們匹配出來

Image(62)

7.建四個用戶

   Alex213sb

   Wpq2222b

   yH438PIG

   egon666

   egon

 過濾出用戶名組成是字母+數字+字母的行

Image(63)

8.顯示出/etc目錄下所有包含root的文件名

Image(64)

9. 過濾掉/etc/ssh/sshd_config內所有注釋和所有空行

Image(65)

三:Sed使用:以/etc/passwd文件為模板

1,刪除文件每行的第一個字符。

Image(66)

2,刪除文件每行的第二個字符。

Image(67)

3,刪除文件每行的最后一個字符。

Image(68)

4,刪除文件每行的倒數第二個字符。

Image(69)

5,刪除文件每行的第二個單詞。

Image(70)

6,刪除文件每行的倒數第二個單詞。

Image(71)

7,刪除文件每行的最后一個單詞。

Image(72)

8,交換每行的第一個字符和第二個字符。

Image(73)

9,交換每行的第一個字符和第二個單詞。

Image(74)

10,交換每行的第一個單詞和最后一個單詞。

Image(75)

11,刪除一個文件中所有的數字。

Image(76)

12,刪除每行開頭的所有空格。

Image(77)

13,用制表符替換文件中出現的所有空格。

Image(78)

14,把所有大寫字母用括號()括起來。

Image(79)

15,打印每行3次。

Image(80)

16,只顯示每行的第一個單詞。

Image(81)

17,打印每行的第一個單詞和第三個單詞。

Image(82)

18,用命令獲取格式為    mm/yy/dd    的日期格式,結合管道,將其換成   mm;yy;dd格式

Image(83)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM