工作必備之正則匹配 grep sed awk

2022-09-02 13:57:12 字數 925 閱讀 3481

常用正則:

匹配空行:^\s*\n

匹配www開頭:^www

新增行號:awk '$0=""nr". "$0' /etc/yum.conf

1.所有網域名稱前加www.

sed -e "/^$/d" -e 's/^/www./g' file

2.分組調換

echo aaa bbb | sed 's/\([a-z]\+\) \([a-z]\+\)/\2 \1/'

bbb   aaa

3.awk的格式化輸出

awk -f: 'begin ' /etc/passwd

4.當使用 這種次數匹配的正規表示式時,需要配合--posix選項或者--re-interval選項。

awk '/hello/' test.txt        ====>錯誤

awk --posix  '/hello/' test.txt

或者awk --re-interval  '/hello/' test.txt

5.匹配test.txt中第一次出現lee至第一次出現kevin範圍內的列印出來

awk '/lee/,/kevin/' test.txt

6.列印第三行至第7行的內容

awk 'nr>=3 && nr<=6' test.txt

7.利用awk對空陣列賦值為0的特性,統計出ip.txt裡面每個ip出現的次數

ip.txt的內容如下:

192.168.1.1

192.168.1.2

192.168.1.1

192.168.1.100

192.168.1.2

awk ' end }'  ip.txt

最終列印的結果為:

192.168.1.1    2

192.168.1.2    2

192.168.1.100    1

爬蟲之正則匹配

資料解析原理概述 案例 這裡爬取的是糗事百科中的部分,我們可以先檢查一下頁面的html。可以看到,所有都以這樣的標籤形式儲存在頁面中,所以我們要想爬取頁面上的,首先應該先獲取頁面的html檔案,然後以正規表示式,讓的標籤與整個html進行匹配,從而獲取到所有的src。如下 if name main ...

PHP正則之遞迴匹配

正則是否能處理括號配對的正則匹配.比如,對於如下的待匹配的字串 就是乙個括號配對的字串.而對於如下的待匹配字串 則不是乙個括號配對的字串.在以前,這種情況,正則無法處理,最多只能處理固定層數的遞迴,而無法處理無線遞迴的情況 而在perl 5.6以後,引入了乙個新的特性 recursive patte...

php zhegnze PHP正則之遞迴匹配

我記得早前有同事問,正則是否能處理括號配對的正則匹配.比如,對於如下的待匹配的字串 就是乙個括號配對的字串.而對於如下的待匹配字串 則不是乙個括號配對的字串.在以前,這種情況,正則無法處理,最多只能處理固定層數的遞迴,而無法處理無線遞迴的情況.而在perl 5.6以後,引入了乙個新的特性 recur...