Linux——通配符、字符類、特殊符號、轉義字符、POSIX正則表達式

以下爲學習整理內容,供自己翻閱和他人翻閱使用

通配符(shell)

*	匹配任意多的字符(包括0個和1個)
?	匹配任意單個字符(不包括0個)
[characters] 匹配任意一個屬於字符集中的字符
[^characters]或[!characters]	匹配任意一個不屬於字符集中的字符
[[:class:]]	匹配任意一個屬於指定字符類中的字符
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串

字符類

[:alpha:]	英文大小寫字符,亦A-Z a-z 
[:alnum:]	英文大小寫字符以及數字:亦A-Z a-z 0-9
[:blank:]	空格鍵與tab鍵
[:cntrl:]	鍵盤的控制按鍵
[:digit:]	數字,亦0-9
[:graph:]	除去空格符(空格鍵和tab鍵)外的其ls它所有符號
[:lower:]	代表小寫字符,亦:a-z
[:print:]	任何可以被打印出來的字符
[:punct:]	標點符號
[:upper:]	大寫字符,亦:A-Z
[:space:]	空白符
[:xdigit:]	16進位的數字類型,0-9,A-F,a-f的數字與字符

一些通配符的使用案例圖
在這裏插入圖片描述
在這裏插入圖片描述

特殊符號(shell Meta字符)

IFS	由空格鍵、tab鍵、enter鍵三者之一組成
CR 	由回車<enter>鍵產生
= 	設定變量
$	取用變量值或者運算值前導符
>,>> 數據流,重定向 輸出導向(stdout) > 重定向取代,>>重定向增加
<,<< 數據流,重定向 輸入導向(stdin)  < 重定向文件內容 ,<< 鍵盤輸入內容
|	管道符號,管線(pipe),分隔管線命令的界定
& 	重導向文件描述符號(file descriptor) 例: &> 或者 2>&1 將標準輸入輸出文件重定向一個文件中
	或者作爲工作控制,將命令置於背景(後臺)執行
() 	將其內的命令置於子shell(nested subshell)執行
	或用於運算
	或命令的替換
{}	將其內的命令置於非命名函數(non-named function)中執行
	或用在變量替換的界定範圍,例:${PATH}:~/bin
;	連續指令分隔符,與管線不同,他是命令分隔符,不進行過濾處理
' '	單引號,不具有變量置換(解析)功能($變爲純文本);硬轉義,其內部所有的shell 元字符、通配符都會被關掉。
" "	雙引號,具有變量置換(解析)功能($可保留相關功能);軟轉義,其內部只允許出現特定的shell 元字符
` `	反引號,放置的命令可先執行的指令,與$(指令)功能相同
&&	邏輯運算與,在前一個命令結束時,若返回值爲真(true),繼續執行下一個命令
||	邏輯運算或,在前一個命令結束時,若返回值爲假(false),繼續執行下一個命令
!	邏輯運算非
#	批註符號,常用在腳本中,視爲說明,不執行
\	跳脫字符,將特殊字符或者通配符還原成一般字符
/	根目錄符號,或者路徑分隔符
~	當前用戶家目錄

轉義字符

\b	退格字符
\f	走紙符
\n	換行符
\r	回車符
\t	水平製表符
\v	垂直製表符
\ddd 1-3位八進制值
\xhex	十六進制值
\c	任何字面字符

正則表達式

linux中支持正則的編輯工具
編輯工具			基本正則表達式			擴展正則表達式
grep				支持			不支持
egrep				支持			 支持
vi				支持			不支持
vim				支持				 支持
sed				支持			不支持(-r選項支持)
awk				支持			 支持

==基本正則表達式(元字符)==
	^	匹配指向一行的開頭;
		在awk中匹配字符串的開始,即使字符串包含嵌入的換行符
	$	匹配指向一行的結尾
		在awk中匹配字符串的結尾,即使字符串包含嵌入的換行符
	.	匹配任意單個字符(除了換行符外)
		awk中,可以匹配換行符
	c	匹配字母c
	*	匹配前一個字符出現0次或多次
	.*	匹配任意多個字符
	[ ]	匹配集合中的任意單個字符,括號中爲一個集合
	[^ ]匹配否定,對括號中的集合取反
	[ - ] 匹配連字符兩邊範圍內
	[[:class:]]	匹配字符類中的任意一個字符
	\	匹配轉義後的特殊字符
	\{n,m\}	匹配前面某個範圍內單個字符重複n到m任意次數
	\{n,\}	匹配前面某個範圍內單個字符至少重複n次
	\{n\}	匹配前面某個字符重複n次
	\( \)	將\(與\)之間的內容存儲在“保留空間”,最大存儲9個
	\n		n表示1-9數字通過\1到9調用“保留空間”的內容

==擴展正則表達式(元字符)==
	+	匹配前面的正則表達式的一次或多次出現
	?	匹配前面的正則表達式的零次或一次出現
	|	匹配邏輯或,指定可以匹配其前面或後面的正則表達式	
	( )	對正則表達式分組,正則集合
	{n,m}	等同於基本表達式\{n,m\}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章