在linux中,可以利用sed命令來查詢和替換檔案中的字串,該命令採用的是流編輯模式,可以根據正規表示式匹配和處理文字檔案中的資料;替換語法為「sed 's/要搜尋的字串或正規表示式/替換值/g' 要執行操作的檔名」。
本教學操作環境:linux5.9.8系統、Dell G3電腦。
當你在使用文字檔案時,很可能需要查詢和替換檔案中的字串。在 Linux 中這可以通過使用 sed 命令來完成,sed 命令主要用於替換一個檔案中的文字。
sed 命令是什麼
sed 命令表示 Stream Editor(流編輯器),用來在 Linux 上執行基本的文字操作。它可以執行各種功能,如搜尋、查詢、修改、插入或刪除檔案。
sed 命令採用的是流編輯模式,可以執行復雜的正規表示式匹配。
sed 命令會根據正規表示式匹配和處理文字檔案中的資料。
它可用於以下目的:
查詢和替換匹配給定的格式的內容。
在指定行查詢和替換匹配給定的格式的內容。
在所有行查詢和替換匹配給定的格式的內容。
搜尋並同時替換兩種不同的模式。
sed 命令替換檔案中的字串
常見的 sed 替換字串的語法。
sed -i 's/Search_String/Replacement_String/g' Input_File
首先我們需要了解 sed 語法來做到這一點。請參閱有關的細節。
sed:這是一個 Linux 命令。
-i:這是 sed 命令的一個選項,它有什麼作用?預設情況下,sed 列印結果到標準輸出。當你使用 sed 新增這個選項時,那麼它會在適當的位置修改檔案。當你新增一個字尾(比如,-i.bak)時,就會建立原始檔案的備份。
s:字母 s 是一個替換命令。
Search_String:搜尋一個給定的字串或正規表示式。
Replacement_String:替換的字串。
g:全域性替換標誌。預設情況下,sed 命令替換每一行第一次出現的模式,它不會替換行中的其他的匹配結果。但是,提供了該替換標誌時,所有匹配都將被替換。
/:分界符。
Input_File:要執行操作的檔名。
讓我們來看看檔案中用sed命令來搜尋和轉換文字的一些常用例子。
我們已經建立了用於演示的以下檔案。
# cat sed-test.txt 1 Unix unix unix 23 2 linux Linux 34 3 linuxunix UnixLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system
1) 如何查詢和替換每一行中「第一次」模式匹配
下面的 sed 命令用 linux 替換檔案中的 unix。這僅僅改變了每一行模式的第一個範例。
# sed 's/unix/linux/' sed-test.txt 1 Unix linux unix 23 2 linux Linux 34 3 linuxlinux UnixLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system
2) 如何查詢和替換每一行中「第 N 次」出現的模式
在行中使用/1、/2……/n 等標誌來代替相應的匹配。
下面的 sed 命令在一行中用 linux 來替換 unix 模式的第二個範例。
# sed 's/unix/linux/2' sed-test.txt 1 Unix unix linux 23 2 linux Linux 34 3 linuxunix UnixLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system
3) 如何搜尋和替換每一行中所有的模式範例
下面的 sed 命令用 linux 替換 unix 格式的所有範例,因為 g 是一個全域性替換標誌。
# sed 's/unix/linux/g' sed-test.txt 1 Unix linux linux 23 2 linux Linux 34 3 linuxlinux UnixLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system
4) 如何查詢和替換一行中從「第 N 個」開始的所有匹配的模式範例
下面的 sed 命令在一行中替換從模式的「第 N 個」開始的匹配範例。
# sed 's/unix/linux/2g' sed-test.txt 1 Unix unix linux 23 2 linux Linux 34 3 linuxunix UnixLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system
相關推薦:《Linux視訊教學》
以上就是linux怎麼替換檔案中的字串的詳細內容,更多請關注TW511.COM其它相關文章!