^ 行首。
$行尾。
. 除換行符之外任意乙個字元。
* 前面的字元重複0到多次。
.*用於匹配所有字元。
定義一組字元,匹配組內任一乙個字元(注意!只是組內的乙個!)
[^] 對字元組內的字元做取反操作(不包涵組內任一乙個字元)
^ 組內字串開頭的行。
^[^] 非組內字串開頭的行。
[a-z] 匹配乙個小寫字母。
[a-z] 匹配乙個大寫字母。
[a-z] 匹配乙個小寫和大寫字母。
[0-9] 匹配乙個0-9的數字。
\< 匹配單詞頭
\> 匹配單詞尾
(單詞在正則中的定義,就是以空格或者其他特殊字元做分割,連續的字串會被當做單詞。)
拓展正則:
? 前字元匹配0個或1個
+前字元匹配1個或多個
|邏輯或,例如abc|def abc或def
()小括號,用於分組,例:a(bc|de)f
意思就是abcf或adef。
s s重複了n次。
s s至少重複了n次,甚至更多次。
s s至少重複了n次,最多重複m次。
posix定義的字元分類:
[:alnum:] alphanumeric characters.
匹配範圍為 [a-za-z0-9]
[:alpha:] alphabetic characters.
匹配範圍為 [a-za-z]
[:blank:] space or tab characters.
匹配範圍為 空格和tab鍵
[:cntrl:] control characters.
匹配控制鍵 例如 ^m 要按 ctrl+v 再按回車 才能輸出
[:digit:] numeric characters.
匹配所有數字 [0-9]
[:graph:] characters that are both printable and visible. (a space is print-
able, but not visible, while an a is both.)
匹配所有可見字元 但不包含空格和tab 就是你在文字文件中按鍵盤上能用眼睛觀察到的所有符號
[:lower:] lower-case alphabetic characters.
小寫 [a-z]
[:print:] printable characters (characters that are not control characters.)
匹配所有可見字元 包括空格和tab
能列印到紙上的所有符號
[:punct:] punctuation characters (characters that are not letter, digits, con-
trol characters, or space characters).
特殊輸入符號 +-=)(*&^%$#@!~`|\"'{}:;?/>.<,
注意它不包含空格和tab
這個集合不等於^[a-za-z0-9]
[:space:] space characters (such as space, tab, and formfeed, to name a few).
[:upper:] upper-case alphabetic characters.
大寫 [a-z]
[:xdigit:] characters that are hexadecimal digits.
16進製制數 [0-f]
使用方法:
[root@seker ~]# grep --color '[[:alnum:]]' /etc/passwd
Linux之文字處理
在linux系統中,即使在控制台命令列狀態下,也需要進行大量的文字處理工作。linux系統中幾乎所有的配置檔案都是以純文字形式存在的,我們也要對這些檔案進行編輯工作。linux上常見的文字編輯器有vi vim ed gedit emacs等。本章介紹的文字編輯器就是平常使用最多的vim文字處理器。v...
linux 文字處理
1.文字處理 echo echo e 033 40 35m.背景顏色範圍 40 49 40 黑 41 深紅 42 綠 43 黃色 44 藍色 45 紫色 46 深綠 47 百色 字型顏色範圍 30 39 30 黑 31 紅 32 綠 33 黃 34 藍色 35 紫色 36 深綠 37 百色 eg e...
Linux 文字處理
author janloong do o cat 連線檔案並且列印到標準輸出 sort 給文字行排序 uniq 報告或者省略重複行 cut 從每行中刪除文字區域 paste 合併檔案文字行 join 基於某個共享欄位來聯合兩個檔案的文字行 comm 逐行比較兩個有序的檔案 diff 逐行比較檔案 p...