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 表示阻止自动输出