大資料學習之Linux 05grep命令用法

2021-10-01 10:26:41 字數 3446 閱讀 5978

-e :開啟擴充套件(extend)的正規表示式。

-i :忽略大小寫(ignore case)。

-v :取反(invert),列印沒有匹配的行

-n :顯示匹配的行號

-w :被匹配的文字只能是單詞,而不能是單詞中的某一部分

-c :顯示有多少行被匹配到了

-cv :顯示有多少行沒有被匹配到

-o :只顯示被模式匹配到的字串。

–color :將匹配到的內容以顏色高亮顯示。

-a n:顯示匹配到的字串所在的行及其後n行(after)

-b n:顯示匹配到的字串所在的行及其前n行(before)

-c n:顯示匹配到的字串所在的行及其前後各n行(context)

.:任意乙個字元

[abc]:匹配abc中任意乙個字元

grep "[a-z]" test02.txt
[a-za-z]:匹配任意乙個字母,

grep "[a-za-z]" test02.txt
[^123]:匹配除123以外的任意乙個字元(數字+字母)

grep "[^ab]" test02.txt
[a-z]:等價於[[:upper:]][a-z]:等價於[[:lower:]][a-za-z]: 等價於[[:alpha:]][0-9]: 等價於[[:digit:]][a-za-z0-9]:等價於[[:alnum:]]tab,space等空白字元:[[:space:]]標點符號:[[:punct:]]\: 匹配前面出現的字元m-n次

grep "[a-z]\" test02.txt
\?: 匹配前面出現的字元0-1次, 相當於\*:匹配其前面出現的內容任意次,等價於\,所以 「.*」 表述任意字元任意次,即無論什麼內容全部匹配。

^:錨定行首

grep "^[a-z]" test02.txt    字母開頭
$:錨定行尾。

技巧:"^$"用於匹配空白行。

grep "[0-9]\$" test02.txt    數字結尾
\b\<:錨定單詞的詞首。

如"\blike"不會匹配alike,但是會匹配liker

\b\>:錨定單詞的詞尾。

如"\blike\b"不會匹配alike和liker,只會匹配like

\b:與\b作用相反。

\(str\):將str作為乙個整體方便後面引用

\n:引用第n個左括號及其對應的右括號所匹配的內容。

# 匹配以相同字母開頭和結尾的行

grep "^\([[:alpha:]]\).*\1$" test02.txt

*:和基本正規表示式一樣

?:基本正規表示式是?,這裡沒有\

:相比基本正規表示式也是沒有了\

+:匹配其前面的字元至少一次,相當於

其他部分和普通正規表示式沒什麼區別

大資料學習筆記(05)

大資料學習筆記 05 nginx配置 master processes 只有乙個 worker processes 1 工作程序數,預設為1,可以改為auto,即啟動與cpu核數相同的worker程序 tengine worker connections 單個worker processes最大的併...

大資料之linux基礎學習(一)

command options parameter linux下檔案和目錄的特點 常用linux命令的基本使用序號 命令對應英文 作用01 lslist 檢視當前資料夾下的內容 02pwd print work directory 檢視當前所在資料夾 03cd 目錄名 change director...

05雲計算與大資料學習之雲計算應用

3 參考文獻 物聯網的概念 顧名思義就是物物相連的網際網路。這有兩層意思 其一,物聯網的核心和基礎仍然是網際網路,是在網際網路基礎上延伸和擴充套件的網路 其二,其使用者端延伸和擴充套件到了任何物品與物品之間,進行資訊交換和通訊,也就是物物相息。應用創新是物聯網發展的核心,以使用者體驗為核心的創新是物...