起源:
awk <- sed&grep <-ed
sed<-ed
ex <- ed
ed: 行编辑器
awk与sed都是基于字符流的,细
ex: vi 下的行编辑器(普通模式按Q进去,输入vi退出)
ed 简单介绍:
范围
行筛选: 行号+正则,用,指定范围
操作
也就是 范围+行筛选+操作
e.g
/youarepig/d #当前行如果包含youarepig则删除 /youarepig/是行筛选,d是删除操作
g/youarepig/d #删除当前文档中所有包含youarepig的行 g是范围 /youarepig/是行筛选,d是删除操作
------------------------------------------------------------------------------------------------
操作细分:
以上例子中删除d只是一个简单操作,还有p打印等,下面来看看复杂一点的操作:
替换操作:
[address]s/pattern/replacement/flag
e.g
s/a/b/ 将一行中第一个a换成b
s/a/b/g 讲一行中所有a替换成b
--------------------------------------------------------------------------------------------------
那么ed的替换操作的一个例子为:
g/reg1/s/reg2/complex/g
分解一下
1.g/reg1/______ 这是范围+行筛选+操作
文档所有符合reg1正则的行进行后面的操作
2.s/reg2/complex/g 对于特定行,将行中所有的reg2替换成complex
注意两个g的含义区别
--------------------------------------------------------------------------------------------------
特点:可编程编辑器:
ed test < ed-script 讲ed脚本用于test文件