在linux终端中一般都是使用vim对文档进行编辑,这种编辑是交互式的
而linux提供了perl和sed两种命令行编辑方式
sed [options] ‘{command}[flags]’ [filename]
#option(可选参数)
-e script 将脚本中指定的命令添加到处理输入时执行的命令中 多条件,一行中要有多个操作
-f script 将文件中指定的命令添加到处理输入时执行的命令中
-n 抑制自动输出
-i 编辑文件内容
-i.bak 修改时同时创建.bak备份文件。
-r 使用扩展的正则表达式
! 取反 (跟在模式条件后与shell有所区别)
#command 对文件干什么
sed常用内部命令
a 在匹配后面添加 (默认为所有行 2从第二行开始 2,4 2-4行)
i 在匹配前面添加
d 删除
s 查找替换 字符串
c 更改
y 转换 N D P
p 打印
#flags
数字 表示新文本替换的模式
g: 表示用新文本替换现有文本的全部实例
p: 表示打印原始的内容
w filename: 将替换的结果写入文件
测试
前增/后增:a/i
一般形式
规定行开始以及行范围
匹配插入
以下找到包含9的行后插入jiu
字符串改 's/old/new/'
一般形式
匹配形式(注意77前面有\)
行改 c\new
一般形式
后面是将所有一并改变 而非每一行改变
匹配(每一行改变)
对应修改 y/abc/ABC
删 d/
option
-e 一次性执行多个命令
-f 将命令写入文件中再执行
f.txt
标志
/g
全部
/2
第2处 如替换目标有多个,仅替换所选择行的第二个(默认第一个)
/p
打印
/w
保存
参考