正規表示法(或稱為常規表示法)是透過一些特殊字符的排列,用以搜尋/取代/刪除一列或多列文字字符串, 簡單的說,正規表示法就是用在字符串的處理上面的一項『表示式』。正規表示法并不是一個工具程序, 而是一個字符串處理的標準依據,如果您想要以正規表示法的方式處理字符串,就得要使用支持正規表示法的工具程序才行, 這類的工具程序很多,例如 vi, sed, awk 等等。
一、正則表達式是什么?
正則表達式是用于描述字符排列和匹配模式的一種語法規則。它主要用于字符串的模式分割、匹配、查找及替換操作。
二、正則表達式與通配符
1. 正則表達式
用來在文件中匹配符合條件的字符串,正則表達式是“包含匹配”。grep、awk、sed等命令可以支持正則表達式。
2. 正則表達式元字符
正則表達式是通過元字符來進行字符串匹配的,具體請參考:http://www.cnblogs.com/refine1017/p/5011522.html
3. 通配符
用來匹配符合條件的文件名,通配符是“完全匹配”。ls、find、cp這些命令不支持正則表達式,所以只能使用shell自己的通配符來進行匹配了。
4. 通配符包括
* 匹配任意字符
? 匹配任意一個字符
 [] 匹配中括號中的任意一個字符
三、cut命令
cut 命令從文件的每一行剪切字節、字符和字段并將這些字節、字符和字段寫至標準輸出。
1. 常用參數
-b :以字節為單位進行分割。這些字節位置將忽略多字節字符邊界,除非也指定了 -n 標志。
-c :以字符為單位進行分割。
-d :自定義分隔符,默認為制表符。
-f :與-d一起使用,指定顯示哪個區域。
-n :取消分割多字節字符。僅和 -b 標志一起使用。
2. 示例1:打印出用制表符分割的文件的某一行
[root@localhost shell]# cat student.txt ID Name Gender Mark1 ming F 852 zhang F 703 wang M 754 li M 90[root@localhost shell]# cut -f 4 student.txt Mark85707590
3. 示例2:打印csv文件的某一行
[root@localhost shell]# cat student.csv ID,Name,Gender,Mark1,ming,F,852,zhang,F,703,wang,M,754,li,M,90[root@localhost shell]# cut -d "," -f 4 student.csv Mark85707590
4. 示例3:打印一個字符串的第幾個字符
[root@localhost shell]# echo "abcdef" | cut -c 3c
5. 示例4:截取中文字符的某一個文字
[root@localhost shell]# echo "Shell編程" | cut -nb 1S[root@localhost shell]# echo "Shell編程" | cut -nb 2h[root@localhost shell]# echo "Shell編程" | cut -nb 3e[root@localhost shell]# echo "Shell編程" | cut -nb 4l[root@localhost shell]# echo "Shell編程" | cut -nb 5l[root@localhost shell]# echo "Shell編程" | cut -nb 8編[root@localhost shell]# echo "Shell編程" | cut -nb 11程
新聞熱點
疑難解答