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