sed基本学习

参考:

《跟老男孩学Linux运维:核心系统命令实战》

sed:stream editor

增删改查

seq 9 | sed '2a liunx' #在第2行后面增加

输出
1
2
liunx
3
4
5
6
7
8
9

seq 9 | sed '2i liunx' #在第2行前面增加

输出为
1
liunx
2
3
4
5
6
7
8
9

seq 9 | sed '2d' # 删除第2行

输出为
1
3
4
5
6
7
8
9

seq 12 | sed 's/1/linux/' # 将所有行中第一个1换成linux,如果只替换第2行到第4行用sed '2,4s/1/linux/'

输出为
linux
2
3
4
5
6
7
8
9
linux0
linux1
linux2

seq 12 | sed 's/1/linux/g' # 将所有行中所有换成linux

输出为
linux
2
3
4
5
6
7
8
9
linux0
linuxlinux
linux2

替换中有特殊符号的处理方法

  • 有单引号’,就将命令中的单引号改为双引号"
sed -i "s/'a'/'b'/g" file.txt
  • 有/,就将命令中的/改为#
sed -i "s/'a/b/c'/'b/c/e'/g" file.txt

对文件操作

-i :直接修改读取的文件内容,而不是输出到终端

 sed -i 's/1/linux/g'  numbers.txt

终端没有输出,文件numbers.txt直接修改了

发布了135 篇原创文章 · 获赞 7 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/math_computer/article/details/104558944