sed流编辑器总结
sed [options] 'command' filename(s)
options
-e 允許多項編輯
-f 指定sed腳本文件名
-n 取消默認的輸出。
command
a/ 在當前行后添加一行或多行
c/ 用新文本修改當前行
d 刪除行
i/ 在當前行前插入
h 把臨時內容拷貝到臨時緩沖區
H 把內容追加到臨時緩沖區
g 取出緩沖區內容并覆蓋原有內容
G 取出緩沖區內容并追加到原有內容
l 列出非打印字符
p 打印行
q 退出sed
n 對下一行操作
! 對所有行以外的行進行處理
s 一個字符串替換成另一個字符串
w 寫入新的文件
x 交換模式空間與臨時緩沖區內容
y 將字符轉換成另一種字符,不能對正則表達式使用。
g 全局內替換
sed元字符
sed -n '/west/,/east/p' datafile , 為范圍字符,輸出以west開始以east結束并包含west east的行。
& s/love/**&**/ &表示替換前面的匹配部分
sed - n 's//(word)/)xxx//1ianne/p' file ()標記一個字符為id,后面用id來替代
sed 's#3#88#g' datafile s命令后面可以跟任意字符作為分隔符,換行符和反斜/除外。
sed 'Lewis/{ s/Lewis/John/;q; }' datafile 替換后退出,多個命令用{}括起,前有留有空格
sed例子
sed .... filex > temp;mv temp filex
sed -n '/west/,/east/s/$/**VACA**/' datafile
sed -e '1,3d' -e 's/He/Jo/' datafile
sed '/Suan/r newfile' datafile
sed -n '/north/w 123' datafile
sed '/^north/a/---boobooke---' datafile
sed '/^east/i/---boobooke---' datafile
sed '/eastern/c/---boobooke---' datafile
sed '/eastern/{ n;s/AM/Archie/; }' datafile
sed '1,3y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/ datafile
sed '5q' datafile
sed 'Lewis/{ s/Lewis/John/;q; }' datafile
sed -e '/northeast/h' -e '$G' datafile
sed -e '/WE/{ h; d; }' -e '/CT/{G; }' datafile
sed -e '/WE/{ h; d; }' -e '/CT/{g; }' datafile
sed -e '/Pat/h' -e '/Margot/x' datafile
sed -n 'l' datafile
sed -f sedding datafile
?
總結
- 上一篇: 三星为 980 Pro SSD 固态硬盘
- 下一篇: Bash shell 学习笔记六