sed命令学习与练习--20个例子

sed命令理论知识

  sed是非交互式的编辑器。sed工具不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。
  sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。
  参数:
    -a :新增,后面可以接字串,这些字串会在新的一行出现(目前的下一行)
    -c :取代,后面可以接字串,这些字串可以取代 n1,n2 之间的行
    -d :删除
    -i :修改源文件
    -p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
     -s :取代,可以直接进行取代的工作,通常这个 s 的动作可以搭配正规表示法
     -n :取消默认的完整输出,只要需要的
     -r : sed 使用扩展正则表达式
     -e :允许多项编辑

sed命令练习

1.显示test文件的3-9行:

sed命令学习与练习--20个例子

2.显示包含oo字符串的行到包含gin字符串的行:

sed命令学习与练习--20个例子

3.在文件第一行添加haha,文件结尾添加yesyes:

sed命令学习与练习--20个例子

4.用hahaha替换oo,打印前20行:

sed命令学习与练习--20个例子

5.删除空行和以#开头的行:

sed命令学习与练习--20个例子

6.取出一个文件路径的目录名称:

sed命令学习与练习--20个例子

7.在第8行下面插入hahaha第10行上面插入lalala:

sed命令学习与练习--20个例子

8.显示第25行到最后,并在每行的后面添加hhh:

sed命令学习与练习--20个例子

9.删除20到30行最后一个单词(字符):

sed命令学习与练习--20个例子
sed命令学习与练习--20个例子

10.将15到25行第一个字符与最后一字符对调:

sed命令学习与练习--20个例子

11.为文件中每个大写字母添加括号:

sed命令学习与练习--20个例子

12.文件中出现所有sbin都被替换成hahah,只有发生变化的行才被打印:

sed命令学习与练习--20个例子

13.解除文件注释,并删除4-6行:

sed命令学习与练习--20个例子

14.删除1-3行并用root替换sbin:

sed命令学习与练习--20个例子

15.删除1-8行并打印1-20行:

sed命令学习与练习--20个例子

16.把所有var全部替换成root,并将第一个字符和最后一个字符对调:

sed命令学习与练习--20个例子

17.删除所有包含var的行:

sed命令学习与练习--20个例子

18.把20行以后的末尾加上awr:

sed命令学习与练习--20个例子

19.打印第1到20行,删除15行后面所有的行:

sed命令学习与练习--20个例子

20.将字符串/var替换成/hahaha,打印20,40行:

sed命令学习与练习--20个例子