参考:
《跟老男孩学Linux运维:核心系统命令实战》
sed:stream editor
- 基本的增删改查
seq 9 | sed '2a liunx'
讲解:在第二行后面增加linux
seq 9 | sed '2i linux'
讲解:在第二行前面增加linux
seq 9 | sed '2d'
讲解:删除第二行
seq 9 | sed '2,4s/./linux/g' # 如果对所有行进行替换则 sed 's/./linux/g'
讲解:
1. 将第2行到第4行的全部字符替换为linux,必须加g,如果为
seq 12 | sed '2,4s/./linux/'
则只能替换掉每行第一个匹配的,其他的不会替换!
2. 进一步:对文件操作时,需要加上
-i :直接修改读取的文件内容,而不是输出到终端
如: sed -i '2,4s/./linux/g' xxx.txt
seq 9 | sed -n '2p'
讲解:不打印原文本(-n的作用),只是取出第二行打印
- N将两行用\n连接当作一行放入模式空间,进行处理
seq 9 | sed 'N;s/\n/=/'
讲解:输出为
1=2
3=4
5=6
7=8
9