SHELL正規表示式案例

2021-10-17 08:15:49 字數 2574 閱讀 7566

1、顯示/etc/passwd檔案中以bash結尾的行;

2、找出/etc/passwd檔案中的三位或四位數;

3、找出/etc/grub2.cfg檔案中,以至少乙個空白字元開頭,後面又跟了非空白字元的行;

4、找出"netstat-tan」命令的結果中,以『listen』後跟0個或多個空白字元結尾的行;

5、找出"fdisk -l「命令的結果中,包含以/dev/後跟sd或hd及乙個字母的行;

6、找出」ldd /usr/bin/cat「命令的結果中檔案路徑;

7、找出/proc/meminfo檔案中,所有以大寫或小寫s開頭的行;至少用三種方式實現;

8、顯示當前系統上root、centos或spark使用者的相關資訊

9、echo輸出乙個絕對路徑,使用egrep取出其基名;

10、找出ifconfig命令結果中的1-255之間的整數;

11、找出系統中其使用者名稱與shell名相同的使用者。

1、顯示/etc/passwd檔案中以bash結尾的行;

[root@wn2 test7]

# grep bash$ /etc/passwd

[root@wn2 test6]

# grep -o "\<[[0-9]\\>" /etc/passwd

2、找出/etc/passwd檔案中的三位或四位數;

[root@wn2 test7]

# grep "\<[[:digit:]]\\>" /etc/passwd

3、找出/etc/grub2.cfg檔案中,以至少乙個空白字元開頭,後面又跟了非空白字元的行;

[root@wn2 test7]

# grep "^[[:space:]]\+[^[:space:]]\+" etc/grub2.cfg

4、找出"netstat -tan」命令的結果中,以『listen』後跟0個或多個空白字元結尾的行;

[root@wn2 test7]

# netstat -tan | grep "listen[[:space:]]*$"

[root@wn2 test7]

# netstat -tan | grep "\"

5、找出"fdisk -l「命令的結果中,包含以/dev/後跟sd或hd及乙個字母的行;

[root@wn2 test7]

# fdisk -l | grep "^/dev/[s|h]d[a-za-z]"

[root@wn2 test7]

# fdisk -l | grep "^/dev/[sd|hd][[:alpha:]]"

6、找出」ldd /usr/bin/cat「命令的結果中檔案路徑;

[root@wn2 test7]

# ldd /usr/bin/cat | grep -o "/[^[:space:]]\+"

7、找出/proc/meminfo檔案中,所有以大寫或小寫s開頭的行;至少用三種方式實現;

[root@wn2 test7]

# grep "^[s|s]" /proc/meminfo

[root@wn2 test7]

# grep -i ^s /proc/meminfo

[root@wn2 test7]

# grep -e "^s|^s" /proc/meminfo

[root@wn2 test7]

# grep -e "^[s|s]" /proc/meminfo

8、顯示當前系統上root、centos或spark使用者的相關資訊;

[root@wn2 test7]

# grep -e "^(root|centos|user1\>)" /etc/passwd

9、echo輸出乙個絕對路徑,使用egrep取出其基名;

[root@wn2 test7]

# echo /mnt/sdc/ | grep -eo "[^/]+/?$" | cut -d "/" -f 1

[root@wn2 test7]

# echo /mnt/sdc | egrep -o "\<[[:alpha:]]*\>$"

10、找出ifconfig命令結果中的1-255之間的整數;

[root@wn2 test7]

# ifconfig | grep -oe "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"

11、找出系統中其使用者名稱與shell名相同的使用者。

[root@wn2 test7]

# grep "^\(.*\):.*\1$" /etc/passwd

正規表示式案例

案例一我們將把所有的雙引號替換單引號 解析匹配了乙個 中加除了引用的除了 以外的東西 用 1 代替,在這裡 1就是 name a b console.log name.replace g,1 除了引號以外的所有數 案例二 我們將把字串中所有單詞的首字母都轉換為大寫 方法一 找到aaa或bbb吧aaa...

shell正規表示式

句點 匹配單字元 1 匹配任意單ascii 字元,可以為字母,或為數字。2 舉例 xc.匹配dexc1t 23xcdf 等,w.w.w.匹配rwxrw rw 行首以 匹配字串或字串行 1 允許在一行的開始匹配字元或單詞。2 舉例 01 匹配0011cx4 c01sdf 等,d 匹配drwxr xr ...

shell正規表示式

句點 匹配單字元 1 匹配任意單ascii 字元,可以為字母,或為數字。2 舉例 xc.匹配dexc1t 23xcdf 等,w.w.w.匹配rwxrw rw 行首以 匹配字串或字串行 1 允許在一行的開始匹配字元或單詞。2 舉例 01 匹配0011cx4 c01sdf 等,d 匹配drwxr xr ...