正則表達式以及grep,cut等命令學習

所謂正則表達式,簡單來說就是一種處理(複雜)字符串的方法,它以行爲單位,通過添加一些特殊符號來達到增刪查改字符串的目的。


正則表達式可分爲以下三個內容:

這裏寫圖片描述

比如我們要匹配以123開頭中間有3個x字符的字符串:

這裏寫圖片描述

其中^表示開頭,也就是位置限定符,.* 表示沒有字符,任意一個字符或者任意 多個字符,其中.表示字符類,而 * 表示數量限定符。下面我們來詳細講一講這三者。

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

關於標準正則和擴展正則表達式的區別:

其實它們有點類似,只不過擴展正則新填加了一些功能:比如上面所提的? + | {}等,舉例說明:

這裏寫圖片描述

可以看出,對於標準grep,a+中+只看做是普通的+字符匹配,而擴展正則表達式則認爲a+是至少一個a,那麼如何在擴展正則匹配+,加個轉義即可。

grep ‘a\+’ file

再比如:顯示除了空格開頭,#開頭的所有行,可以像下圖紅色圈出來的寫,第二個就是利用擴展正則的 | 的含義

這裏寫圖片描述

具體擴展正則表達式新加了如下規則:

這裏寫圖片描述



cut命令:以行爲單位,將每一行內的數據進行分解,有時候我們會以某些字符作爲切割參數,也可以完成切割功能,不過cut來處理多空格相連的數據時可能會吃力一點。

cut -c 字符範圍
cut -d ‘分割字符’ -f fields

實例:

這裏寫圖片描述

這裏寫圖片描述


grep命令:也是以行爲單位,使用grep命令分析某行信息,如果有我們所需要的信息就將該行拿出來顯示

grep [選項] filename
-c 計算“查找的字符串次數”
-n 順便輸出行號
-v 反向選擇,顯示沒有“查找字符串”的那一行
-i 忽略大小寫

實例:

測試文件如下:

“Open Source” is a good mechanism to develop programs.
apple is my favorite food.
Football game is not use feet only.
this dress doesn’t fit me.
However, this dress is about $ 3183 dollars.
GNU is free air not free beer.
Her hair is very beauty.
I can’t finish the test.
Oh! The soup taste good.
motorcycle is cheap than car.
This window is clear.
the symbol ‘*’ is represented as start.
Oh! My god!
The gd software is a library for drafting programs.
You are the best is mean you are the no. 1.
The world is the same with “glad”.
I like dog.
google is the best tools for search keyword.
goooooogle yes!
go! go! Let’s go.
I am VBird

這裏寫圖片描述

這裏寫圖片描述


這裏寫圖片描述

sort命令:對不同類型排序
-f 將字母都轉換爲大寫字母,忽略大小寫
-u 相當於uniq命令
-r 反向排序
-n 按照數字排序
-o 寫入源文件

實例:

對於file文本,依次是水果種類:數目:單價,我們要根據單價,或者數目升序排列

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述


tr命令:替換刪除字符串
-d 刪除
-s 替換重複字符串

實例:

這裏寫圖片描述

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章