一、sed概念简述
工作原理:
读取—>执行---->显示
sed命令格式
命令格式
sed -e ‘编辑指令’ 文件1 文件2
常用选项:
二、sed命令的操作符以及相关操作
打印
打印4到最后一行
sed -n ‘4,$p’ 123.txt
打印4到6行
sed -n ‘4,+2p’ 123.txt
打印第一行和第三行
sed -n -e ‘1p’ -e ‘3p’ 123.txt
打印偶数行
sed -n ‘n;p’ 123.txt
文本模式过滤行内容
输出带有a的行
基础正则表达式
输出以root开头的行
输出以bash结尾的行
文本删除操作
删除第三行
sed -n ‘3d;p’ 123.txt
删除第5到最后一行
sed -n ‘5,$d;p’ 123.txt
删除空格
sed ‘/^$/d’ 123.txt
sed替换操作
s 字符串替换
c 整行替换
y 字符替换,长度必须相同
p 打印并替换匹配的(第几个或第几行)
g 替换所有
替换第二个root为test
sed -n ‘s/root/test/2p’ /etc/passwd
以root为开头,在前面插入一个#
sed -n ‘/^root/ s/^/#/p’ /etc/passwd
把所有匹配到的A-Z替换成小写
sed ‘s/[A-Z]/\l&/g’ 123.txt
把所有匹配到的a-z替换成大写
sed ‘s/[a-z]/\u&/g’ 123.txt
整行替换
把aaa所在的行替换为ok
sed ‘/aaa/c ok’ 123.txt
单字符替换
sed ‘y/bbb/123/’ 123.txt
sed命令的增加
- 操作符
a: 在行后添加内容
i: 在行前插入内容
r: 在行后读入文件
在行前行后添加内容
sed ‘/aaa/a liwei’ 123.txt
sed ‘/aaa/i qiuyang’ 123.txt
在行后读入文件(把456.txt读入到123.txt文件后)
sed ‘$r 456.txt’ 123.txt
总结
1.sed是一种流编辑器,读取文件会进行祖行读取加上指令操作,所以过大的文件一定要拆分后在交给sed处理
2.sed -r 搭配扩展正则表达式使用,使用 {n} {n,} {n,m} 不需要加""
3.用 -i 时一定要先备份(尤其对重要文件的操作),或者事先试验好确定无误是,在使用 -i
4.sed 命令的重点在于增删改查四个功能,可以运用在脚本中对重要文件配置的修改,添加等作用尤其有效