系統常見特殊符號 萬用字元 正規表示式

2022-08-12 15:15:17 字數 3589 閱讀 3154

一、系統常見特殊符號

1、基礎符號系列

1)$①普通使用者命令列提示符      

[sangha@hasang02-01 ~]$

②在awk中,$1表示第一列

awk '' test.txt

③取出變數的內容

echo $lang

2)!①取反或排除

awk '!/xiang/' test.txt

find -type f ! -name "*.txt"|xargs ls -l

②命令列中表示取出最近命令

!awk(不建議用)== history|grep awk

3)|管道

4)#①root使用者命令提示符

[root@hasang02-01 ~]# 

②注釋   

2、引號符號系列

1)單引號:' '

輸入什麼,就輸出什麼

2)雙引號:" "

類似單引號,單部分內容會被解析

3)反引號:` `

執行引號裡面的命令,用於其他命令呼叫,同$()

3、定向符號系列

1)小於符號:<

①乙個小於號:標準輸入重定向

xargs -n2 < test.txt    --- 把檔案裡的內容按兩個一行顯示

②兩個小於號:標準輸入重定向

用於一次性向檔案中寫入多行內容

2)大於符號:>

①乙個大於號:標準輸出重定向(會清空原檔案內容)

echo "abc" >test.txt

②兩個大於號:標準輸出追加重定向(追加到檔案最後一行)

echo "abc" >>test.txt

3)錯誤重定向:2>

①錯誤輸出重定向:ifconfi 2>test.txt

②錯誤輸出追加重定向:ifconfi 2>>test.txt

③把錯誤的正確的都追加輸入到指定檔案:ifconfig &>>test.txt 或 ifconfg >>test.txt 2>&1

4、路徑資訊系列

1)點:.

①表示當前目錄:cd .

②載入(==source):. /etc/profile

2)點點:..

3)波浪線:~

表示當前使用者家目錄:cd ~

5、邏輯符號系列

1)兩個and符號:&&

前面的命令執行成功,再執行後面的命令

2)兩根豎線:||

前面的命令執行不成功,才執行後面的命令

3)分號: ;

分別執行兩個命令

二、萬用字元

萬用字元多用於處理檔名稱資訊,find ls -l 常用

1、星號:*

表示匹配所有內容

示例1:找出以.txt結尾的檔案

find /test -type f -name "*.txt"

示例2:找出包含字串test的檔案

find /test -type f -name "*test*"

示例3:找出以test開頭.txt結尾的檔案

find /test -type f -name "test*.txt"

2、大括號:{}

表示構造出乙個序列

①單個連續序列

echo ; echo

②單個不連續序列

echo == echo

③多個連續序列

echo

④多個不連續序列

echo

⑤單個字串和序列組合

echo a ; echo a

示例1:一次性創造多個檔案

touch stu.txt

示例2:檔案備份

copy test.txt

三、基礎正規表示式(basic regular expression bre)

正規表示式多用於處理檔案內容資訊,三劍客命令和各種計算機語言常用

1.尖號:^

表示以什麼開頭的資訊:grep '^m' test.txt

2.美元符號:$

找出以什麼結尾的資訊:grep 'm$' test.txt

3.尖號加美元符號:^$

匹配空行資訊:grep -v '^$' test.txt

4.乙個點:.

匹配任意乙個且只有乙個字元資訊(不能匹配空行):grep -o '.$' test.txt

5.星號:*

匹配0個或多個連續出現的字元資訊,會匹配出找不到的內容,預支匹配,預設將所有內容顯示出來:grep '0*' test.txt

6.點星:.*

匹配檔案中所有的內容(可以匹配空行資訊):grep '.*' test.txt

①找出檔案以m開頭,一行中的所有資訊:grep '^m.*' test.txt

②找出檔案以m開頭,以m結尾的資訊:grep '^m.*m$' test.txt

7.轉譯符號:\

可以將有意義的符號,轉譯成沒有意義的符號,也可以將沒有意義的符號,轉譯成有意義的符號。

①找出以.結尾的行的資訊:grep '\.$' test.txt

②將檔案一行資訊,轉換成一列顯示:tr " " "\n" 8.中括號:[abc]

表示分別匹配中括號裡的內容,即匹配a或b或c:grep '[abc]' test.txt

示例1:找出不包含數字或大寫字母的行:grep -v '[0-9a-z]' test.txt 

9.中括號加尖號:[^abc]

排除/不匹配指定字元資訊:grep '[^abc]' test.txt

示例1:找出不以a或b或c開頭的行

grep '^[^abc]' test.txt

示例2:找出不以空格結尾的行

grep '[^ ]$' test.txt

四、擴充套件正規表示式(extended regular expression ere)

1.加號:+

+前面字元出現一次或一次以上,只顯示包含對應字串的行(對比*)

egrep '[0-9]+' test.txt

2.豎線:|

匹配多個滿足條件的資訊:egrep 'a|b|c' test.txt

3.小括號:()

匹配乙個整體資訊:grep 'a(b|c)d' test.txt

後項引用前面括號裡的內容(多與sed連用):echo 123456|sed 's#(..)(..)(..)#<\2><\3><1>#g'

4.大括號:{}

指定匹配前面乙個字元出現了多少次

1) :指定前面乙個字元連續最少出現n次,最多出現m次

2):指定前面乙個字元連續出現了n次

3):指定前面乙個字元連續出現了最少n次

4):指定前面乙個字元連續出現了最多m次

5.問號:?

匹配前乙個字元出現了1次或0次:egrep 'a?' test.txt

五、基礎正規表示式和擴充套件正規表示式的區別

基礎正則命令:grep  sed  awk

擴充套件正則命令:egrep     sed -r    awk

如果一定要用基礎正則命令來使用擴充套件正規表示式的話,必須在擴充套件正規表示式前面加上轉譯符 \

如:grep 'a\|b' test.txt  ;   sed -n  "/3306\|1521/p" /etc/services

Linux系統 特殊符號 萬用字元及正規表示式

特殊符號 管道符號,將管道符左邊的命令的執行結果以字串的形式通過 管道符傳送到管道符右邊命令末尾,作為管道符右邊命令的執行 範圍 輸出重定向 追加輸出重定向 輸入重定向 追加輸入重定向 當前使用者的宿主目錄 引用命令優先執行 引用命令優先執行 以.開頭 以.結尾 連續不同命令的分隔符號 任意 任意乙...

萬用字元與特殊符號

萬用字元符與特殊符號 符號內容 萬用字元,代表0 或多個字元 數字 萬用字元,代表乙個字母 批註,這個最常被使用在 script當中,視為說明 跳脫符號,將 特殊字元或萬用字元 還原成一般字元 分隔兩個管道命令的界定 連續性命令的界定 使用者的家目錄 取出變數中的內容 有點類似於c 語言裡 跟指標的...

linux內特殊符號 萬用字元 正規表示式

1.特殊符號 所見即所得。原樣輸出。特殊符號會被解析執行 相當於 先執行括號裡面的命令,把結果留下 重定向 先清空檔案,再追加內容到檔案 追加重定向 在檔案最後追加內容 2 錯誤重定向 2 錯誤追加重定向 當前使用者家目錄 查詢並執行歷史命令。eg sed 查詢最近的一條,包含sed的命令並執行。一...