sed命令学习与练习--20个例子
sed命令学习
- sed命令理论知识
- sed命令练习
- 1.显示test文件的3-9行:
- 2.显示包含oo字符串的行到包含gin字符串的行:
- 3.在文件第一行添加haha,文件结尾添加yesyes:
- 4.用hahaha替换oo,打印前20行:
- 5.删除空行和以#开头的行:
- 6.取出一个文件路径的目录名称:
- 7.在第8行下面插入hahaha第10行上面插入lalala:
- 8.显示第25行到最后,并在每行的后面添加hhh:
- 9.删除20到30行最后一个单词(字符):
- 10.将15到25行第一个字符与最后一字符对调:
- 11.为文件中每个大写字母添加括号:
- 12.文件中出现所有sbin都被替换成hahah,只有发生变化的行才被打印:
- 13.解除文件注释,并删除4-6行:
- 14.删除1-3行并用root替换sbin:
- 15.删除1-8行并打印1-20行:
- 16.把所有var全部替换成root,并将第一个字符和最后一个字符对调:
- 17.删除所有包含var的行:
- 18.把20行以后的末尾加上awr:
- 19.打印第1到20行,删除15行后面所有的行:
- 20.将字符串/var替换成/hahaha,打印20,40行:
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 :允许多项编辑