options中常用的選項如下所示:
(1)插入(insert)命令(i)會在指定行前增加一個新行。
sed options script file
sed '2s/pattern/replacement/' file 將file的流中第二行的第一個pattern替換成replacement
(1)一次從輸入中讀取一行數據
先來介紹一下sed的理解:sed被稱為流編輯器(stream editor),香港服務器租用,可以根據命令來處理數據流中的數據。這些命令要么從命令行中輸入,要么存儲在一個命令文本文件中。
sed '2,$s/pattern/replacement/' file 將file的流中第二行到最后一行的第一個pattern替換成replacement
4 5 6 4 5 6 5 6 4 5 6
舉例如下:
-i 直接修改源文件。
sed '[address]command ew line'
sed '/word/d' file 將file的流中含有word的行刪除
-f file 將file中制定的命令添加到已有的命令中,注意每一個命令都要在獨立的一行里。
sed '2,4s/pattern/replacement/' file 將file的流中第二行到第四行的第一個pattern替換成replacement
3. 插入和附加文本
5. 轉換命令
格式為:
主要用法有(注意:如果不加上-i選項,修改的都是流中的內容,file本身的內容沒有變化):
-n 通常情況下,當所有命令執行完后輸出會顯示在STDOUT中,-n選項會禁止輸出。通常和替換標記p一起使用,只輸出被修改過的行。
sed: 1: "y/abc/de/": transform strings are not the same length
2. 刪除文本
sed '2d' file 將file的流中的第二行刪除
sed -n 's/pattern/replacement/p' file 將file的流中每行的第一個pattern替換成replacement,國內服務器租用 服務器托管,并打印出修改過的行
script中的常用使用方式:
sed 'w outFile' file 將file的內容寫入到outFile中
sed '3r newFile' file 將newFile的內容添加到file的流的第三行之后。
sed 's/pattern/replacement/' file 將file的流中每行的第一個pattern替換成replacement
sed '/word/s/pattern/replacement/' file 將file的流中含有word的行中的第一個pattern替換成replacement,可以使用正則表達式
sed '2,$d' file 將file的流中的第二行到最后一行刪除
sed '3cThis is a changed line.' file 將file的流的第三行修改為This is a changed line.
sed -n 's/pattern/replacement/2p' file 將file的流中每行的第二個pattern替換成replacement,并打印出修改過的行(標記符號可以多個一起使用,且順序不影響結果)
轉換(transform)命令(y)是唯一可以處理單個字符的sed命令,格式如下:
(2)根據所提供的編輯器命令匹配數據
4. 修改行($和匹配模式/word/都可以使用):
sed 's/pattern/replacement/g' file 將file的流中每行的每一個pattern替換成replacement
sed '3aThis a an inserted line.' file 將一個新行插入到file的流的第三行后
(4)將新的數據輸出到STDOUT
sed命令的格式為:
轉換命令會對inchars和outchars做一對一映射,inchars的第一個字符會被轉換為outchars的第一個字符,inchars的第二個字符會被轉換為outchars的第二個字符。如果inchars和outchars的長度不同,sed編輯器會產生一條錯誤消息:
sed 'd' file 將file的流中所有行全部刪除
(2)附加(append)命令(a)會在指定行后增加一個新行。
sed '2,4d' file 將file的流中的第二行到第四行刪除
sed '1,2w outFile' file 將file第一行到第二行的內容寫入到outFile中
數據庫主機租用用戶在日常維護中怎樣做到很好的處理數據流中的數據是一個問題。而SED命令應該如何使用呢?今天小編就來介紹一下關于數據庫主機租用Linux系統sed命令怎樣使用這個問題。
sed s/pattern/replacement/flags'
在流編輯器將所有命令與一行數據匹配完畢后,它會讀取下一行數據并重復這個過程。在流編輯器處理完流中所有的數據行之后,它就會終止。
(3)按照命令修改流中的數據
主要用法為($和匹配模式/word/都可以使用):
sed 's/pattern/replacement/2' file 將file的流中每行的第二個pattern替換成replacement
7. 寫入文件
1. 替換文本中的指定字符,形式為:
sed '[address]y/inchars/outchars'
sed會執行以下這些操作:
$ echo "1 2 3 1 2 3 2 3 4 5 6" | sed 'y/123/456/'
-e command 將command中的命令添加到已有的命令中,也就是說當sed中使用多個命令時要使用這個選項。
以上就是夢飛小編為各位整理的關于數據庫主機租用Linux系統sed命令怎樣使用。
sed '3iThis a an inserted line.' file 將一個新行插入到file的流的第三行前
sed 's/pattern/replacement/gw outFile' file 將file的流中每行的每一個pattern替換成replacement,并將輸出保存到outFile中(w標記必須要放在最后,如果寫作wg,標記g將無效,并生成名為g outFile的輸出文件)
8. 從文件讀取數據($和匹配模式/word/都可以使用):
可以看出,轉換命令是一個全局命令,會在文本行中找到的所有指定字符進行轉換,無法限定只轉換在特定地方出現的字符。