Shell基礎之正規表示式

2021-09-24 08:17:29 字數 1575 閱讀 3885

正規表示式用來在檔案中匹配符合條件的字串,正則是包含匹配,grep、awk、sed等命令可以支援正規表示式

萬用字元用來匹配符合條件的檔名,萬用字元是完全匹配,ls、find、cp這些命令不支援正規表示式,所以只能使用shell自己的萬用字元來進行匹配

.匹配除了換行符外任意乙個字元(類似?)

^行首$行尾匹配中括號中指定的任意乙個字元,值匹配乙個字元

[^]取反

\轉義

[0-9]\-[0-9]\-[0-9]\

複製**

[0-9]\\.[0-9]\\.[0-9]\\.[0-9]\

複製**

grep "/bin/bash" /etc/passwd | grep -v "root" | cut -f 1 -d

":"複製**

但是 df -h 不適用,cut只適用特別規律的資料

動作

idname

gender

mark

1furongf85

2fengjf60

3cangf70

awk '' student.txt

// 監控系統資源

df -h | grep "/dev/sda5" | awk '' | cut -d

"%"-f 1

awk 'begin' student.txt

awk 'end' student.txt

cat /etc/passwd | grep /bin/bash | awk 'begin'

cat student.txt | grep -v name | awk '$4>=70'

複製**

動作

sed是一種幾乎包括在所有unix平台(包括linux)的輕量級流編輯器。sed主要是用來將資料進行選取、替換、刪除、新增的命令。

//只看第二行

sed -n '2p' student.txt

//刪除第二行到第四行的資料,但不修改檔案本身

sed '2,4d' student.txt

//在第二行後追加hello

sed '2a piaoliang jiushi rexing' student.txt

//在第二行前插入兩行資料

sed '2i meinv' student.txt

//替換第二行資料

sed '2c furong bu ji ge' student.txt

sed '4s/70/100/g' student.txt

複製**

#排序使用者資訊檔案

sort /etc/passwd

#反向排序

sort -r /etc/passwd

#只用第三個字段排序

sort -n -t ":" -k 3,3 /etc/passwd

複製**

Shell基礎之 正規表示式

普通字元 只是字面的意思 元字元 超過字面意思的意義 基本正規表示式元字元及其意義 0個或多個在 字元之前的那個普通字元 匹配任意字元 匹配行首 匹配行尾 匹配字元集合 轉義符 匹配前面字元出現n次 匹配前面字元至少出現n次 匹配前面字元出現n m次 hel o 可以匹配helll8o hello ...

Shell基礎之 正規表示式

普通字元 只是字面的意思 元字元 超過字面意思的意義 基本正規表示式元字元及其意義 0個或多個在 字元之前的那個普通字元 匹配任意字元 匹配行首 匹配行尾 匹配字元集合 轉義符 匹配前面字元出現n次 匹配前面字元至少出現n次 匹配前面字元出現n m次 hel o 可以匹配helll8o hello ...

Shell基礎 正規表示式

shell基礎 正規表示式 正規表示式 它用來在檔案中匹配符合條件的字串,正則是包含匹配。grep awk sed等命令支援正規表示式。而萬用字元用來在系統匹配符合條件的檔名,是完全匹配。ls find cp這些命令不支援正規表示式,所以只能使用shell自己的萬用字元來進行匹配了。元字元 作用 把...