一朝抖, 簡介
sed 可依照腳本的指令來處理啥箭、編輯文本文件。Sed 主要用來自動編輯一個或多個文件槽棍、簡化對文件的反復(fù)操作捉蚤、編寫轉(zhuǎn)換程序等抬驴。
二炼七, 語法
sed [-hnV][-e<script>][-f<script文件>][文本文件]
三, 參數(shù)
參數(shù)說明:
-e<script>或--expression=<script> 以選項(xiàng)中指定的script來處理輸入的文本文件布持。
-f<script文件>或--file=<script文件> 以選項(xiàng)中指定的script文件來處理輸入的文本文件豌拙。
-h或--help 顯示幫助。
-n或--quiet或--silent 僅顯示script處理后的結(jié)果题暖。
-V或--version 顯示版本信息按傅。
動作說明:
a :新增捉超, a 的后面可以接字串,而這些字串會在新的一行出現(xiàn)(目前的下一行)~
c :取代唯绍, c 的后面可以接字串拼岳,這些字串可以取代 n1,n2 之間的行!
d :刪除况芒,因?yàn)槭莿h除啊惜纸,所以 d 后面通常不接任何咚咚;
i :插入绝骚, i 的后面可以接字串耐版,而這些字串會在新的一行出現(xiàn)(目前的上一行);
p :打印压汪,亦即將某個選擇的數(shù)據(jù)印出粪牲。通常 p 會與參數(shù) sed -n 一起運(yùn)行~
s :取代,可以直接進(jìn)行取代的工作哩止剖!通常這個 s 的動作可以搭配正規(guī)表示法腺阳!例如 1,20s/old/new/g 就是啦!
四穿香,用法
1舌狗, 增加一行
sed? '$a newline' tt.txt? ?//$表示最后一行, 4a表示第四行后
sed '$i newline' tt.txt? ? //最后一行前增加一行
2扔水,刪除幾行
sed '2, 3d' tt.txt? ? ?//傷處2 3 行
3痛侍,行為單位替換
sed '2,3c newling' tt.txt? ?//2,3行替換為newline
4, 字符搜索
sed -n /root/p tt.txt? ? ?//-n? 只顯示處理后的結(jié)果? p代表顯示搜索后結(jié)果
sed /root/d tt.txt? ? // 搜索到包含root的行,并且刪除
sed s/root/user/g tt.txt? ?//搜索root 替換為user魔市,?g代表處理一行搜索到的多個字符
5, 直接修改文件內(nèi)容
sed -i 動作? ?//直接修改原始文件
sed -i 's/chr/chrome/g' tt.txt? ?//替換原始文件中chr為chrome 主届, g代表處理一行搜索到的多個字符