正则表达式(grep命令,egrep命令,sed命令,awk命令,sort工具,uniq工具)
文章目錄
- 正則表達式
- 基礎正則表達式:grep命令
- 查找行首“^”與行尾字符“$
- 查找連續字符范圍{}
- 元字符總結
- 正則表達式總結
- 擴展正則表達式
- egrep命令
- sed工具使用方法
- sed工具概述
- sed的工作流程
- 常見的sed命令選項
- 常見的操作
- 刪除符合條件的文本(d)
- 替換符合條件的文本
- **遷移符合條件的文本**
- 使用腳本編輯文件
- sed 直接操作文件示例
- awk工具使用方法
- sort工具
- uniq工具
- tr工具
正則表達式
基礎正則表達式:grep命令
-i”表示不區分大小寫
-n”表示顯示行號
若反向選擇,如查找不包含“the”字符的行,則需要通過grep命令的“-v”選項實現,并配合“-n”一起使用顯示行號。
(1) 利用中括號“[]”來查找集合字符
想要查找“shirt”與“short”這兩個字符串時,可以發現這兩個字符串均包含“sh” 與“rt”“[]”中無論有幾個字符,都僅代表一個字符,也就是說“[io]”表示匹配“i”或者“o”同時查找到“shirt”與“short”這兩個字符串 [root@localhost opt]# echo "shirt" >> /opt/httpd.txt [root@localhost opt]# echo "short" >> /opt/httpd.txt [root@localhost opt]# echo "shart" >> /opt/httpd.txt [root@localhost ~]# grep -n 'sh[ioa]rt' /etc/passwd若要查找包含重復單個字符“oo”時,只需要執行以下命令即可。
查找行首“^”與行尾字符“$
基礎正則表達式包含兩個定位元字符:“^”(行首)與“$”(行尾)
“^”符號在元字符集合“[]”符號內外的作用是不一樣的,在“[]”符號內表示反向選擇,在“[]”符號外則代表定位行首
若想查找以某一特定字符結尾的行則可以使用“$”定位符
查詢以“the”字符串為行首的行
若查找“oo”前面不是“w”的字符串,只需要通過集合字符的反向選擇“[^]”來實現該目的
“a-z”表示小寫字母,大寫字母則通過“A-Z”表示。
若不希望“oo”前面存在小寫字母,可以使用“grep -n[^a-z]oo’test.txt”命令實現
查找包含數字的行可以通過*grep -n‘[0-9]’test.txt命令來實現。
開頭為0-9的
查詢以小寫字母開頭的行可以通過[a-z]規則來過濾,查詢大寫字母開頭的行則使用[A-Z]”規則,若查詢不以字母開頭的行則使用“[a-zA-Z]”規則。
因為小數點(.)在正則表達式中也是一個元字符(后面會講到),所以在這里需要用轉義字符“\”將具有特殊意義的字符轉化成普通字符。
查詢以小數點(.)結尾的行 [root@localhost opt]# grep -n ‘.$’ httpd.txt
當查詢空白行時,執行grep -n‘^$’test.txt命令即可。
(1) 查找任意一個字符".“與重復字符”*"
表示固定字符
“*”代表的是重復零個或多個前面的單字符
“o”表示擁有零個(即為空字符)或大于等于一個“o”的字符*
執行以下命令即可查詢以 w 開頭 d 結尾,中間的字符可有可無的字符串
“oo*”, 則第一個 o 必須存在,第二個 o 則是零個或多個 o,所以凡是包含 o、oo、ooo、ooo,等的資料都符合標準
查詢以 w 開頭 d 結尾,中間包含至少一個 o 的字符串,執行以下命令即可實現。
執行以下命令即可查詢任意數字所在行。
查找連續字符范圍{}
在上面的示例中,使用了“.”與“*”來設定零個到無限多個重復的字符,如果想要限制一個范圍內的重復的字符串該如何實現呢?例如,查找三到五個 o 的連續字符,這個時候就需要使用基礎正則表達式中的限定范圍的字符“{}”。因為“{}”在 Shell 中具有特殊意義,所以在使用“{}”字符時,需要利用轉義字符“\”,將“{}”字符轉換成普通字符?!皗}”字符的使用方法如下所示。
查詢兩個或以上 o 的字符
查詢以 w 開頭以 d 結尾,中間包含 2~5 個 o 的字符串。
查詢以 w 開頭以 d 結尾,中間包含 2 以上 o 的字符串
元字符總結
| ^ | 匹配輸入字符串的開始位置 |
| $ | 匹配輸入字符串的結尾位置 |
| . | 匹配除“\r\n”之外的任何單個字符 |
| \ | 將下一個字符標記為特殊字符、原義字符、向后引用、八進制轉義符。例如,‘n’匹配字符“n”。 ‘\n’匹配換行符。序列‘\ \’匹配“\”,而‘\ (’則匹配“(” |
| * | 匹配前面的子表達式零次或多次。要匹配“*”字符,請使用“\ *” |
| [] | 字符集合。匹配所包含的任意一個字符。例如,“[abc]”可以匹配“plain”中的“a” |
| [^] | 賦值字符集合。匹配未包含的一個任意字符。例如,“[ ^abc ] ”可以匹配“plain”中“plin”中的任何一個字母 |
| [n1-n2] | 字符范圍。匹配指定范圍內的任意一個字符。例如,“[a-z]”可以匹配“a”到“z”范圍內的任意一個小寫字母字符。注意:只有連字符(-)在字符組內部,并且出現在兩個字符之間時,才能表示字符的范圍;如果出現在字符組的開頭,則只能表示連字符本身 |
| {n} | n 是一個非負整數,匹配確定的 n 次。例如,“o\ {2\ }”不能匹配“Bob”中的“o”,但是能匹配“food”中的兩個 o |
| {n,} | n 是一個非負整數,至少匹配 n 次。例如,“o\ {2,\ }”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有 o?!皁\ {1,\ }”等價于“o+”?!皁\ {0,\ }”則等價于“o*” |
| {n,m} | m 和n 均為非負整數,其中 n<=m,最少匹配 n 次且最多匹配 m 次 |
正則表達式總結
命令基本格式 grep -cinvABC 'word' filename -c '行數'-i '不區分大小寫'-n '顯示行號'-v '取反'-r '遍歷所有子目錄'-A '后面跟數字,過濾出符合要求的行以及下面n行'-B '同上,過濾出符合要求的行以及上面n行'-C '同上,同時過濾出符合要求的行以及上下各n行'擴展正則表達式
egrep命令
通常情況下會使用基礎正則表達式就已經足夠了,但有時為了簡化整個指令,需要使用范圍更廣的擴展正則表達式。
| + | 作用:重復一個或者一個以上的前一個字符 示例:執行“egrep -n ‘wo+d’ test.txt”命令,即可查詢"wood" “woood” "woooooood"等字符串 |
| ? | 作用:零個或者一個的前一個字符 示例:執行“egrep -n ‘bes?t’ test.txt”命令,即可查詢“bet”“best”這兩個字符串 |
| | | 作用:使用或者(or)的方式找出多個字符 示例:執行“egrep -n ‘of |
| () | 作用:查找“組”字符串 示例:“egrep -n ‘t(a |
| ()+ | 作用:辨別多個重復的組 示例:“egrep -n ‘A(xyz)+C’ test.txt”。該命令是查詢開頭的"A"結尾是"C",中間有一個以上的 "xyz"字符串的意思 |
示例:“egrep -n ‘A(xyz)+C’ test.txt”。該命令是查詢開頭的"A"結尾是"C",中間有一個以上的"xyz"字符串的意思
+ 作用:重復一個或者一個以上的前一個字符
示例:執行“egrep -n ‘wo+d’ test.txt”命令,即可查詢"wood" “woood” "woooooood"等字符串
? 作用:零個或者一個的前一個字符
查看is|or|the ; 使用|或者(or)的方式找出多個字符
sed工具使用方法
sed工具概述
sed(Stream EDitor)是一個強大而簡單的文本解析轉換工具,可以讀取文本,并根據指定的條件對文本內容進行編輯(刪除、替換、添加、移動等),最后輸出所有行或者僅輸出處理的某些行。
sed 也可以在無交互的情況下實現相當復雜的文本處理操作,被廣泛應用于 Shell 腳本中,用以完成各種自動化處理任務。
sed的工作流程
讀取——》執行——》顯示三個過程
在所有的文件內容都被處理完成之前,上述過程將重復執行,直至所有內容被處理完
默認情況下,所有的 sed 命令都是在模式空間內執行的,因此輸入的文件并不會發生任何變化,除非是用重定向存儲輸出
讀取
默認情況下,所有的 sed 命令都在模式空間中順序地執行,除非指定了行的地址,否則 sed 命令將會在所有的行上依次執行
執行
默認情況下,所有的 sed 命令都在模式空間中順序地執行,除非指定了行的地址,否則 sed 命令將會在所有的行上依次執行
顯示
發送修改后的內容到輸出流。再發送數據后,模式空間將會被清空。
通常情況下調用 sed 命令有兩種格式
sed[選項] '操作' 參數 sed [選項] -f scriptfile 參數常見的sed命令選項
| -e 或–expression= | 表示用指定命令或者腳本來處理輸入的文本文件 |
| -f 或–file= | 表示用指定的腳本文件來處理輸入的文本文件 |
| -h 或–help | 顯示幫助 |
| -n、–quiet 或 silent | 表示僅顯示處理后的結果 |
| -i | 直接編輯文本文件,直接編輯源文件 |
常見的操作
| a | 增加,在當前行下面增加一行指定內容 |
| c | 替換,將選定行替換為指定內容 |
| d | 刪除,刪除選定的行 |
| i | 插入,在選定行上面插入一行指定內容 |
| p | 打印,如果同時指定行,表示打印指定行;如果不指定行,則表示打印所有內容;如果有非打印字符,則以 ASCII 碼輸出。其通常與“-n”選項一起使用 |
| s | 替換,替換指定字符 |
| y | 字符轉換 |
*用法示例*
[root@localhost opt]# sed -n 'p' a.txt //輸出所有內容,1234567890[root@localhost opt]# sed -n '2p' a.txt //輸出第 2 行1[root@localhost opt]# sed -n '3,5p' a.txt //輸出 3~5 行234[root@localhost opt]# sed -n 'p;n' a.txt //輸出所有奇數行,n 表示讀入下一行資料24680[root@localhost opt]# sed -n 'n;p' a.txt //輸出所有偶數行,n 表示讀入下一行資料13579[root@localhost opt]# sed -n '1,5{p;n}' a.txt //輸出第 1~5 行之間的奇數行(第 1、3、5 行)135[root@localhost opt]# sed -n '1,5{n;p}' a.txt //輸出第 5行至文件尾之間的偶數行24 6[root@localhost opt]# sed -n '/the/p' a.txt //輸出包含the 的行the thisthis the[root@localhost opt]# sed -n '2,/the/p' a.txt //輸出從第 2行至第一個包含 the 的行234567the this[root@localhost opt]# sed -n '/the/=' a.txt //輸出包含the 的行所在的行號,等號(=)用來輸出行號810[root@192 ~]# sed -n ‘/[0-9]/p’ /opt/httpd.txt 輸出以數字
以0-9開頭的或結尾的[root@localhost opt]# sed -n '/^[0-9]/p' httpd.txt 123456789[root@localhost opt]# sed -n '/[0-9]$/p' httpd.txt //輸出以數字結尾的行 \#Listen 12.34.56.78:80Listen 80\#ServerName www.example.com:80AddDefaultCharset UTF-812345678?4567899//輸出包含單詞wood 的行,<、>代表單詞邊界
刪除符合條件的文本(d)
下面命令中 nl 命令用于計算文件的行數,結合該命令可以更加直觀地查看到命令執行的結果。[root@localhost opt]# nl a.txt ? 1 1? 2 2? 3 3? 4 4? 5 5? 6 6? 7 7? 8 the this? 9 8? 10 this the? 11 9? 12 0[root@localhost opt]# nl a.txt | sed '3d' //刪除第 3 行 不會影響源文件? 1 1? 2 2? 4 4? 5 5? 6 6? 7 7? 8 the this? 9 8? 10 this the? 11 9? 12 0[root@localhost opt]# nl a.txt | sed '3,$d' //刪除第 3 以后的行? 1 1? 2 2[root@localhost opt]# nl a.txt | sed '/the/d' //刪除the的行? 1 1? 2 2? 3 3? 4 4? 5 5? 6 6? 7 7? 9 8? 11 9? 12 0[root@localhost opt]# sed '/\.$/d' httpd.txt //刪除以"."結尾的行\#\# This is the main Apache HTTP server configuration file. It contains the\# In particular, see \# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>\#\# Do NOT simply read the instructions in here without understanding\# what they do. They're here only as hints or reminders. If you are unsure[root@localhost opt]# sed '/^$/d' httpd.txt //刪除所有空行\#\# This is the main Apache HTTP server configuration file. It contains the\# configuration directives that give the server its instructions.\# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.\# In particular, see \# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>\# for a discussion of each configuration directive.替換符合條件的文本
[root@localhost opt]# cat a.txt 1234567the this8this the90[root@localhost opt]# sed 's/the/THE/' a.txt //將每行中的第一個the 替換為 THE1234567THE this8this THE90[root@localhost opt]# sed 's/l/L/3' a.txt //將每行中的第 3 個 l 替換為 L1 234567the thistollLlllk8this the90[root@localhost opt]# sed 's/l//g' a.txt //將文件中的所有 l 刪除(替換為空串)1 234567the thistok8this the90[root@localhost opt]# sed 's/^/#/' a.txt //在每行行首插入#號\#1 \#2\#3\#4\#5\#6\#7\#the this\#tollllllk\#8\#this the\#9\#0[root@localhost opt]# sed '/the/s/^/#/' a.txt //在包含the 的每行行首插入#號1234567\#the thistollllllk8\#this the90[root@localhost opt]# sed 's/l/#/g' a.txt 把l替換成#1234567the thisto######k8this the90遷移符合條件的文本
在使用 sed 命令遷移符合條件的文本時,常用到以下參數.
H:復制到剪貼板;
g、G:將剪貼板中的數據覆蓋/追加至指定行;
w:保存為文件;
r:讀取指定文件;
a:追加指定內容。
[root@localhost opt]# sed '/the/{H;d};12G' a.txt //將第 the行內容轉移至第 17 行后1234567tollllllk89the thisthis the0[r[root@localhost opt]# sed '/the/{H;d};$G' a.txt //將包含the 的行遷移至文件末尾,{;}用于多個操作1234567tollllllk890the thisthis the[root@localhost opt]# sed '1,3{H;d};$G' a.txt //將第 1~3 行內容轉移至末尾4567the thistollllllk8this the90123[root@localhost opt]# sed '/the/w out.txt' a.txt //將文件 out.txt 的內容添加到包含 the 的每行以后1234567the thistollllllk8this the90[root@localhost opt]# lsout.txt[root@localhost opt]# cat out.txt the thisthis the\----------------------------------------[root@localhost opt]# vim b.txt 123456[root@localhost opt]# sed '/the/r b.txt' a.txt //在包含the 的每行后插入一個新行,內容為 1234561234567the this123456tollllllk8this the12345690[root@localhost opt]# sed '3aNEW' a.txt //在第 3 行后插入一個新行,內容為New123NEW4567the thistollllllk8this the90[root@localhost opt]# sed '/the/aNEW' a.txt //在包含the 的每行后插入一個新行,內容為 New1234567the thisNEWtollllllk8this theNEW90[root@192 ~]# sed '3aNEW\nNWE2\nNEW3' a.txt //在第 3 行后插入多行內容,中間的\n 表示換行123NEWNWE2NEW34567the thisNEWtollllllk8this theNEW90使用腳本編輯文件
[root@192 ~]# vim opt.zhang將第 1~3行內容轉移至第 12 行后1,3H1,3d12G[root@192 ~]# sed -f opt.zhang a.txt 4567the thisNEWtollllllk8this the123NEW90sed 直接操作文件示例
- 編寫一個腳本,用來調整 vsftpd 服務配置:禁止匿名用戶,但允許本地用戶(也允許寫入)
awk工具使用方法
1. awk 常見用法
通常情況下 awk 所使用的命令格式如下所示,其中,單引號加上大括號“{}”用于設置對數據進行的處理動作。awk 可以直接處理目標文件,也可以通過“-f”讀取腳本對目標文件進行處理。
awk 選項 **’**模式或條件 {編輯指令}’ 文件 1 文件 2 … //過濾并輸出文件中符合條件的內容
awk -f 腳本文件 文件 1 文件 2 … //從腳本中調用編輯指令,過濾并輸出內容
-f 且默認情況下字段的分隔符為空格或 tab 鍵
[root@localhost ~]# **awk -F ':' '{print $1,$3,$4}' /etc/passwd**root 0 0bin 1 1daemon 2 2……//省略部分內容
用$1、$2、$3…順序地表示行(記錄)中的不同字段,另外 awk 用$0 表示整個行(記錄)
在上述示例中,awk 命令對/etc/passwd 文件的處理過程如圖
FS:指定每行文本的字段分隔符,默認為空格或制表位(等于-F) NF:當前處理的行的字段個數 NR:當前處理的行的行號(序數) $0:當前處理的行的整行內容 $n:當前處理行的第n個字段(第n列) FILENAME:被處理的文件名 RS:數據記錄分隔,默認為\n,即每行為一條記錄awk ‘{print}’ test.txt //輸出所有內容,等同于 cat test.txt
輸出第 1~3 行內容
awk 'NR==1||NR==3{print}' /etc/passwd** //輸出第 1 行、第 3 行內容[root@192 ~]# awk 'NR==1,NR==3{print}' /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin[root@192 ~]# awk -F ":" 'NR==1,NR==3{print $1,$3}' /etc/passwd 輸出1到3行的1到3列字段root 0bin 1daemon 2[root@192 ~]# awk -F ":" '(NR>=1)&&(NR<=3){print $1,$3}' /etc/passwdroot 0bin 1daemon 2[root@192 ~]# awk -F ":" 'NR>=1&&NR<=3{print $1,$3}' /etc/passwdroot 0bin 1daemon 2[root@192 ~]# awk -F ":" 'NR==1||NR==3{print $1,$3}' /etc/passwd 只輸出1和3行root 0daemon 2[root@192 ~]# awk -F ":" 'NR%2==1{print $1,$3}' /etc/passwd //輸出所有奇數行的內容root 0daemon 2lp 4shutdown 6mail 8games 12nobody 99dbus 81libstoragemgmt 998rpc 32saslauth 995rtkit 172[root@192 ~]# awk -F ":" 'NR%2==0{print $1,$3}' /etc/passwd //輸出所有偶數行的內容bin 1adm 3sync 5halt 7operator 11ftp 14systemd-network 192polkitd 999colord 997gluster 996abrt 173pulse 171unbound 994rpcuser 29[root@192 ~]# awk '/^root/{print}' /etc/passwd //輸出以root 開頭的行**awk** root:x:0:0:root:/root:/bin/bash[root@192 ~]# awk '/nologin$/{print}' /etc/passwd //輸出以 nologin 結尾的行bin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologin**awk 'BEGIN {x=0};/\/bin\/bash$/{x++};END {print x}' /etc/passwd**//統計以/bin/bash 結尾的行數,等同于 grep -c "/bin/bash$" /etc/passwd[root@192 ~]# awk 'BEGIN {x=0};/\/bin\/bash$/{x++};END {print x}' /etc/passwd25[root@192 ~]# grep -c "/bin/bash$" /etc/passwd25**awk 'BEGIN{RS=""};END{print NR}' /etc/squid/squid.conf**//統計以空行分隔的文本段落數**awk '{print $3}' test.txt** //輸出每行中(以空格或制表位分隔)的第 3 個字段**awk '{print $1,$3}' test.txt** //輸出每行中的第 1、3 個字段[root@192 opt]# awk -F ":" '$3==0{print $1,$7}' /etc/passwdroot /bin/bash[root@192 opt]# awk 'BEGIN{FS=":"};$3=="0"{print};' /etc/passwd //輸出以冒號分隔且第 7 個字段中包含/bash 的行的第 1 個字段root:x:0:0:root:/root:/bin/bash[root@192 opt]# awk -F ":" '$7~"/bash"{print $1}' /etc/passwdroottangezhangtamtomcom1com2com3[root@192 opt]# awk '($1~"nfs")&&(NF==8){print $1,$2}' /etc/services //輸出包含 8 個字段且第 1 個字段中包含 nfs 的行的第 1、2 個字段nfs 2049/tcpnfs 2049/udpnfs 2049/sctpnetconfsoaphttp 832/tcpnetconfsoaphttp 832/udpnetconfsoapbeep 833/tcpnetconfsoapbeep 833/udp[root@192 opt]# awk -F ":" '($7!="/bin/bash")&&($7!="/sbin/nologin"){print}' /etc/passwd //輸出第 7 個字段既不為/bin/bash 也不為/sbin/nologin 的所有行sync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/halt[root@192 opt]# awk -F: '/bash$/{print | "wc -l"}' /etc/passwd //調用wc -l 命令統計使用 bash 的用戶個數,等同于 grep -c "bash$" /etc/passwd25**[root@192 opt]# awk 'BEGIN {while ("w" | getline) n++ ; {print n-2}}'** //調用w 命令,并用來統計在線用戶數**5****getline判斷下面有沒有行**-2是前2行不是[root@zhang opt]# awk 'BEGIN { "hostname" | getline ; print $0}'zhangsort工具
| -b | 忽略每行前面的空格 |
| -M | 按照月份進行排序 |
| -n | 按照數字進行排序 |
| -r | 反向排序 |
| -u | 等同于 uniq,表示相同的數據僅顯示一行 |
| -t | 指定分隔符,默認使用[Tab]鍵分隔 |
| -o | <輸出文件>:將排序后的結果轉存至指定文件 |
| -k | 指定排序區域 |
| -f | 忽略大小寫 |
將/etc/passwd 文件中的賬號進行排序。
將/etc/passwd 文件中第三列進行反向排序。
將/etc/passwd 文件中第三列進行反向排序。
將/etc/passwd 文件中第三列進行排序,并將輸出內容保存至 user.txt 文件中。
uniq工具
Uniq 工具在 Linux 系統中通常與 sort 命令結合使用,用于報告或者忽略文件中的重復行 ? -c:進行計數;? -d:僅顯示重復行;? -u:僅顯示出現一次的行。刪除 centos 文件中的重復行。
[root@localhost opt]# cat cetos.txt centos5 centos5 centos5 centos5 centos6 centos6 centos6 centos8 centos8 centos8 centos9 centos9 centos9 [root@localhost opt]# uniq cetos.txt 刪除 centos 文件中的重復行。 centos5 centos6 centos8 centos9 [root@localhost opt]# uniq -c cetos.txt 刪除 centos 文件中的重復行,并在行首顯示該行重復出現的次數4 centos53 centos63 centos83 centos9 [root@localhost opt]# uniq -d cetos.txt 查找 testfile 文件中的重復行 centos5 centos6 centos8 centos9tr工具
tr 命令常用來對來自標準輸入的字符進行替換、壓縮和刪除??梢詫⒁唤M字符替換之后變成另一組字符,經常用來編寫優美的單行命令,作用很強大。
tr 具體的命令語法格式為:
-c:取代所有不屬于第一字符集的字符; -d:刪除所有屬于第一字符集的字符; -s:把連續重復的字符以單獨一個字符表示; -t:先刪除第一字符集較第二字符集多出的字符。 [root@localhost opt]# echo "KGC" | tr 'A-Z' 'a-z'將輸入字符由大寫轉換為小寫。 kgc [root@localhost opt]# echo "thissss isa text linnnnnnne." | tr -s 'sn'壓縮輸入中重復的字符。 this isa text line. [root@localhost opt]# echo 'hello world' | tr -d 'od'刪除字符串中某些字符。 hell wrl總結
以上是生活随笔為你收集整理的正则表达式(grep命令,egrep命令,sed命令,awk命令,sort工具,uniq工具)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 硬件内存解密:你不知道的计算机大脑奥秘
- 下一篇: 内存选择攻略:IT爱好者分享傲腾系列经验