導航:首頁 > 操作系統 > linux替換文本

linux替換文本

發布時間:2025-05-06 05:22:39

① Linux系統中tr命令刪除和替換文本字元的基本用法

Linux系統中tr命令刪除和替換文本字元的基本用法如下

刪除字元基本用法:使用d選項可以刪除指定的字元。例如,tr d "abc"會刪除所有輸入的’a’、’b’和’c’字元。 刪除控制字元:可以刪除如換行符n、製表符t等控制字元。例如,tr d "nt"會刪除所有換行和製表符。

替換字元基本用法:tr命令可以將一個字元替換為另一個字元。例如,tr "a" "x"會將所有輸入的’a’字元替換為’x’。需要注意的是,這里的替換是按字元進行的,而不是按字元串。所以tr "abc" "xyz"會將’a’替換為’x’、’b’替換為’y’、’c’替換為’z’,而不是將字元串”abc”整體替換為”xyz”。 字元范圍替換:可以使用字元范圍進行替換。例如,tr "[az]" "[AZ]"會將所有小寫字母替換為大寫字母。 特殊字元替換:對於控制字元,可以使用其八進製表示或速記符進行替換。例如,tr "012" "015"會將換行符替換為回車符。

其他常用選項c:使用字元串1中字元集的補集進行替換。例如,tr c "[az]" "[*]"會將所有非小寫字母的字元替換為’*‘。 s:將連續重復的字元序列壓縮為一個字元。例如,tr s "[azAZ]"會將所有連續的大寫和小寫字母序列壓縮為一個字元。特別地,當用於刪除空行時,tr s "n"會將多個連續的換行符壓縮為一個換行符,從而刪除空行。

注意事項: 在指定字元串1或字元串2的內容時,只能使用單字元、字元串范圍或列表。 如果字元串1和字元串2的長度不相同,tr命令會忽略較長字元串中的多餘字元。 對於不可見字元,需要使用轉義字元來表示。

② Linux sed替換刪除文本的20個例子

使用 Linux sed 命令替換和刪除文件中指定字元的示例。以下示例涵蓋了多種場景,總有一個適合您。

sed 替換字元的命令格式如下:

$ sed 's/find/replace/' file 示例文件:

$ cat file

Linux

Solaris

Ubuntu

Fedora

RedHat

1. 刪除指定字元,如 'a'

$ sed 's/a//' file

Linux

Solris

Ubuntu

Fedor

RedHt

以上命令會刪除每一行匹配到的第一個 'a' 字元,移除所有 'a' 字元:

$ sed 's/a//g' file

2. 刪除每一行的第一個字元

$ sed 's/^.//' file

inux

olaris

Ubuntu

edora

edHat

^ 指定匹配每一行的開頭,. 可以匹配開頭的第一個字元。

3. 刪除每一行的最後一個字元

$ sed 's/.$//' file

Linu

Solari

Ubunt

Fedor

RedHa

$ 會匹配每一行字元串的結尾。

4. 刪除同時移除每一行的第一個字元和最後一個字元

$ sed 's/^.//;s/.$//' file

inu

olari

bunt

edor

edHat

sed 命令可以結合多個操作指令,使用 ';' 分割。

5. 刪除匹配到的第一個字元,如果沒有匹配不做處理

$ sed 's/^F//' file

Linux

Solaris

Ubuntu

edora

RedHat

以上命令移除了第一個且匹配F的字元。

6. 刪除匹配到的最後一個字元,如果沒有匹配不做處理

$ sed 's/x$//' file

Linu

Solaris

Ubuntu

Fedora

RedHat

只會刪除每一行結尾是 x 的字元。

7. 刪除每一行的第一到第三個字元

$ sed 's/...//' file

ux

aris

ntu

ora

Hat

{n} 匹配 n 次一個任意的字元。

8. 刪除每一行的第一個到第 n 個字元

$ sed -r 's/.{4}//' file

x

ris

tu

ra

at

{n} 匹配 n 次一個任意的字元。

9. 刪除每一行的最後 n 個字元

$ sed -r 's/.{3}$//' file

Li

Sola

Ubu

Fed

Red

匹配每一行開頭3個字元,且用 () 分組;.* 表示匹配任意多個字元。在替換位通過 \1 表示保留第一個分組的內容。

10. 除了每一行的第一到第n個字元外,剩下的都要刪除

$ sed -r 's/(.{3}).*/\1/' file

Lin

Sol

Ubu

Fed

Red

.{3} 匹配每一行開頭3個字元,且用 () 分組;.* 表示匹配任意多個字元,\1 表示保留第一個分組的內容。

11. 刪除每一行所有字元且保留結尾的n個字元

$ sed -r 's/.*(.{3})/\1/' file

nux

ris

ntu

ora

Hat

匹配每一行開頭3個字元,保留結尾的n個字元。

12. 刪除匹配到的多個字元

$ sed 's/[aoe]//g' file

Linux

Slris

Ubuntu

Fdr

RdHt

[] 指定需要匹配的多個字元,g 表示刪除每一行匹配到的所有字元。

13. 刪除匹配到的字元串

$ sed 's/lari//g' file

Linux

Sos

Ubuntu

Fedora

RedHat

'lari' 從 'Solaris' 中刪除。

14. 刪除每一行匹配到的第 n 個字元

$ sed 's/u//2' file

Linux

Solaris

Ubunt

Fedora

RedHat

默認 sed 只會處理匹配到的第一個字元,可以指定處理匹配到的第幾個字元。

15. 刪除每一行以某個字元開頭的子字元串

$ sed 's/a.*//' file

Linux

Sol

Ubuntu

Fedor

RedH

a.* 匹配以 'a' 開頭的字元串。

16. 刪除文件中每一行中出現的所有數字

$ sed 's/[0-9]//g' file

17. 刪除每一行中出現的小寫字元

$ sed 's/[a-z]//g' file

L

S

U

F

RH

18. 刪除除了小寫字元之外的其他所有字元

$ sed 's/[^a-z]//g' file

inux

olaris

bnt

edora

edat

19. 刪除每一行所有的字母和數字字元

$ sed 's/[a-z][A-Z][0-9]//g' file

20. 刪除每一行的一個字元,且忽略大小寫

$ sed 's/[uU]//g'

Linx

Solaris

bnt

Fedora

RedHat

閱讀全文

與linux替換文本相關的資料

熱點內容
雲閃付怎麼連接伺服器 瀏覽:432
請使用命令 瀏覽:607
一元清債源碼 瀏覽:393
數據文件放雲伺服器 瀏覽:384
小米指尖解壓玩具折法 瀏覽:360
無人聲解壓的視頻 瀏覽:380
高跟鞋壓西瓜解壓視頻 瀏覽:940
編程研究單片機 瀏覽:102
織夢php54 瀏覽:43
多周期畫線源碼 瀏覽:364
壓縮機重錘接線實物圖 瀏覽:117
均線離差指標源碼 瀏覽:245
java安全書 瀏覽:18
如何解析電腦伺服器的dns地址 瀏覽:641
程序員寫驚天bug虧損 瀏覽:658
如何將圖片進行壓縮 瀏覽:71
webapp是什麼意思 瀏覽:73
什麼手機app能調整照片肩膀歪 瀏覽:914
青島要塞爆擊命令 瀏覽:60
Qt協議靜態編譯 瀏覽:824