您好,登錄后才能下訂單哦!
這篇文章主要介紹“linux中sed命令的常用選項有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“linux中sed命令的常用選項有哪些”文章能幫助大家解決問題。
sed 是一種新型的,非交互式的編輯器。它能執行與編輯器 vi 和 ex 相同的編輯任務。sed 編輯器沒有提供交互式使用方式,使用者只能在命令行輸入編輯命令、指定文件名,然后在屏幕上查看輸出。 sed 編輯器沒有破壞性,它不會修改文件,除非使用 shell 重定向來保存輸出結果。默認情況下,所有的輸出行都被打印到屏幕上。
sed 編輯器逐行處理文件(或輸入),并將輸出結果發送到屏幕。 sed 的命令就是在 vi和 ed/ex 編輯器中見到的那些。 sed 把當前正在處理的行保存在一個臨時緩存區中,這個緩存區稱為模式空間或臨時緩沖。sed 處理完模式空間中的行后(即在該行上執行 sed 命令后),就把改行發送到屏幕上(除非之前有命令刪除這一行或取消打印操作)。 sed 每處理完輸入文件的最后一行后, sed 便結束運行。 sed 把每一行都存在臨時緩存區中,對這個副本進行編輯,所以不會修改或破壞源文件。
sed 的常用選項
選項 | 說明 |
-n | 使用安靜模式,在一般情況所有的 STDIN 都會輸出到屏幕上,加入-n 后只打印 被 sed 特殊處理的行 |
-e | 多重編輯,且命令順序會影響結果 |
-f | 指定一個 sed 腳本文件到命令行執行, |
-r | Sed 使用擴展正則 |
-i | 直接修改文檔讀取的內容,不在屏幕上輸出 |
sed 的正則表達式元字符
元字符 | 功 能 | 示 例 | 示例的匹配對象 |
^ | 行首定位符 | /^love/ | 匹配所有以 love 開頭的行 |
$ | 行尾定位符 | /love$/ | 匹配所有以 love 結尾的行 |
. | 匹配除換行外的單 個字符 | /l..e/ | 匹配包含字符 l、后跟兩個任意 字符、再跟字母 e 的行 |
* | 匹配零個或多個前 導字符 | /*love/ | 匹配在零個或多個空格緊跟著 模式 love 的行 |
[] | 匹配指定字符組內 任一字符 | /[Ll]ove/ | 匹配包含 love 和 Love 的行 |
[^] | 匹配不在指定字符 組內任一字符 | /[^A-KM-Z]ove/ | 匹配包含 ove,但 ove 之前的那 個字符不在 A 至 K 或 M 至 Z 間 的行 |
\(..\) | 保存已匹配的字符 | ||
& | 保存查找串以便在 替換串中引用 | s/love/**&**/ | 符號&代表查找串。字符串 love 將替換前后各加了兩個**的引 用,即 love 變成**love** |
\< | 詞首定位符 | /\<love/ | 匹配包含以 love 開頭的單詞的 行 |
\> | 詞尾定位符 | /love\>/ | 匹配包含以 love 結尾的單詞的 行 |
x\{m\} | 連續 m 個 x | /o\{5\}/ | 分別匹配出現連續 5 個字母 o、 至少 5 個連續的 o、或 5~10 個 連續的 o 的行 |
x\{m,\} | 至少 m 個 x | /o\{5,\}/ | |
x\{m,n\} | 至少 m 個 x,但不 超過 n 個 x | /o\{5,10\}/ |
關于“linux中sed命令的常用選項有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。