shell脚本学习

流编辑器

sed的简单用法

sed[选项] sed cmds files

选项 –e 连接多个编辑命令

       -f 指定 sed脚本文件名

       -n阻止输入行自动输入

sed ‘4,$d’test.in  输出 test.in文件的前4行

sed   ‘3q’ test.in输出前3行后退出

sed ‘s/public/PUBLIC’test.in 把该文件中的public单词替换成大写

sed_cmd 中地址的定位方式

n 表示第n行
$ 表示最后一行
m,n 表示从m到n行
/pattern/ 查询包含指定模式的行,如/disk/, /[a-z]/
/pattern/, n 表示从模式匹配行到第n行
n,/pattern/ 表示从第n行到包含指定模式匹配的行
/模式1/, /模式2/ 表示从包含模式1到包含模式2的行
! 反向选择,  表示m,n! ,则取m,n 的相反结果

sed –n  ‘3,5’ test.in    //打印第3到5行

sed –n ‘/hello/p’ test.in // 打印出包含hello的行

sed –n ‘/hello/=’ test.in //打印出包含hello的 行号

sed –n ‘/hello/d’ test.in  //删除包含hello的行

sed 常用编辑命令

sed 替换命令 使用格式为

【地址】 s/旧词/新词/【gpw】

地址:如果省略 ,表示编辑所有的行

g:全局替换, 缺省表示 只替换匹配到的第一个词

p:打印被修改后的行

w fname:将被替换的行内容写到指定的文件中去

sed –n ‘s/north/NORTH/gp’ test.in

sed –n ‘s/north/NORTH/w data’ test.in

sed ‘s/[0-9][0-9]$/&.5/’ datafile

-n 表示阻止自动输出

QQ图片20150106153427

原文地址:https://www.cnblogs.com/DLzhang/p/4206228.html