1,删除/etc/grub.conf文件中行首的空白字符;

sed -r 's@^[[ :spapce: ]] +@@g' /etc/grub.conf

2.替换/etc/inittab 文件中“id:3:initdefault:” 一行中的数字为5;

sed 's@\(id:\)[0-9]\(:initdefault:\)@\15\2@g' /etc/inittab

3.删除/etc/inittab文件中的空白行;

sed '/^$/d' /etc/inittab

grep -v '^$' /etc/inittab

4.删除/etc/inittab文件中开头的#号;

sed '/^#/d' /etc/inittab

grep -v '^#' /etc/inittab

5.删除某文件中开并没有的#号及后面的空白字符,但要求#号后面必须有空白字符;

sed -r 's@^#[[:space:]]+@@g' /etc/inittab

6.删除某文件中以空白字符后面跟#类的行中的开头的空白字符及#;

sed -r 's@^[[:space:]]+#@@g' /etc/inittab

7.取出一个文件路径的目录名称;

echo "/etc/rc.d" | sed -r 's@^(/.*/)[^/]+/?@\1@g'

sed 流编辑器

行编辑器 (全屏编辑器: vi )
模式空间,:
默认不编辑原文件,仅对模式空间操作
sed [OPTION]... {script-only-if-no-other-script} [input-file]...
       -n :静默模式,不再默认显示模式空间的行
1. sed 'AddressCommand' file ...
1>,StartLine,EndLine  如:1,100
2.>/RegExp/     /^root/
3> /pattern1/,/pattern2/
第一次被pattern1匹配到的行开始,至第一次被pattern2匹配到的行结束,这中间所有行
4>LineNumber  指定的行
5,StartLine,+N    从starLine开始,向后的N行;
 
2. Command :  d : (删除符合条件行)
                         p :(显示符合条件行)
                        a \string : 在指定的行后面添加新行
                                    \n : 可以用于换行
                        i \string: 在指定的行前面添加就行
                        r FILE: 在指定的文件内容添加至符合条件的行处
                        w FILE:将地址指定的范围内的行另存至指定的文件中;
                        s/pattern/string/: 查的并替换 ,默认只替换每行中第一次被模式匹配到的字符串
                                                g: 全局替换
                                                i : 忽略字符大小写
                      s/// = s### = s@@@  (可使用多种分隔符 )
例:
[root@localhost ~]# sed 's@/@#@g' /etc/fstab 
 
sed 's/^\//#/' /etc/fstab (查找 ‘/ ’开头的行,并替换为  ‘ # ’)
 
 
 sed -n '/^\//p' /etc/fstab  (只显示以 / 开头的行)

sh2.sed脚本练习的更多相关文章

  1. sed追加文本-sed脚本追加文本

    input为sed输入文件,内容如下: [root@node1 gitlab-test-]# cat inppu.txt aa bb cc dd 追加文本: 1.匹配  aa 行之后追加文本 We a ...

  2. 《Linux命令行与shell脚本编程大全》第十九章 初识sed和gawk

    这两个工具能够极大简化需要进行的数据处理任务. 19.1 文本处理 能轻松实现自动格式化.插入.修改或删除文本元素的简单命令行编辑. sed和gawk就具备上述功能 19.1.1 sed编辑器 被称为 ...

  3. shell脚本 sed工具

    sed工具概述(流式编辑器)非交互,基于模式匹配过滤及修改文本逐行处理,并将结果输出到屏幕可实现对文本的输出,增,删,改,查等各种操作 sed流控制:!:取反操作,根据定址条件取反n:读下一行,产生隔 ...

  4. SED单行脚本快速参考(Unix 流编辑器)(转)

    sed.sourceforge.net被封杀,特在此处贴上官方的sed 使用说明文档 SED单行脚本快速参考(Unix 流编辑器) 2005年12月29日 英文标题:USEFUL ONE-LINE S ...

  5. SED单行脚本快速参考(Unix 流编辑器)

    ------------------------------------------------------------------------- SED单行脚本快速参考(Unix 流编辑器) 200 ...

  6. Shell脚本学习之sed详解

    在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 一.什么是sed? sed 是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除 ...

  7. shell脚本之正则表达和文本处理(文本处理三剑客:1、grep 2、sed 3、awk)

    文本处理三剑客:1.grep  2.sed  3.awk 一.grep:(过滤) grep的使用,主要的参数有: -n  :显示行号:-o  :只显示匹配的内容-q  :静默模式,没有任何输出,得用e ...

  8. shell脚本学习笔记 (流编辑器sed)

    sed意为流编辑器(Stream Editor),在Shell脚本和Makefile中作为过滤器使用很普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑命令转换为另一种格式输出. sed不 ...

  9. sed简单脚本练习

    sed脚本的执行顺序可以简记为:Read,Execute,Print,Repeat(读取,执行,打印,重复)简称REPR 分析脚本的执行顺序: l 读取一行到模式空间(sed内部的一个临时缓存,用于存 ...

随机推荐

  1. 快速排序中的partition函数的枢纽元选择,代码细节,以及其标准实现

    很多笔试面试都喜欢考察快排,叫你手写一个也不是啥事.我很早之前就学了这个,对快速排序的过程是很清楚的.但是最近自己尝试手写,发现之前对算法的细节把握不够精准,很多地方甚至只是大脑中的一个映像,而没有理 ...

  2. oschina代码仓库远程push,pull免密实操总结

    刚做项目,用到开源中国(oschina)的git仓库,一个多月一直在痛苦的反复输密码的过程中度过.中间配置过几次免密登录,但总是时而登的上去,时而不行,大多数情况不行.近几日项目做完了,正好有空把这个 ...

  3. C#面向对象设计模式纵横谈——6.Prototype 原型模式(创建型模式)

    动机(Motivation) 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作.由于需求的变化,这些对象经常面临着剧烈的变化,但他们却拥有比较稳定一致的接口. 如何应对这种变化?如何向“客户程 ...

  4. http与https的区别

    HTTPhttp是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型.http通常承载于TCP之上,有时也承载于TLS或SSL协议层之上,这就是常说的httphttp 无状态协议,同一个客 ...

  5. 自用论文排版组合 = LyX2.2.2 + TeXLive2016

    注意的地方: 1.要支持中文的话选CTEX类,其他地方默认即可: 2.文档分"导言区"和"文档区",一般的编辑直接使用LyX的工具,额外的宏包在导言区添加,具体 ...

  6. jquery1.7.2的源码分析(一)

    说到jquery可能是大家最经常用到的,在日常的编写程序中最经常使用到,在使用jquery插件的同时,深入的解读jquery源码有利于我们学到设计的思想和实现的技巧 在jquery源码的分析中,其中艾 ...

  7. 【先定一个小目标】windows下安装RabbitMQ消息服务器

    RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. 1:安装RabbitMQ 需要先安装Erlang语言开发包.下载地址  ...

  8. codevs1257 打砖块

    题目描述 Description 在一个凹槽中放置了n层砖块,最上面的一层有n块砖,第二层有n-1块,--最下面一层仅有一块砖.第i层的砖块从左至右编号为1,2,--i,第i层的第j块砖有一个价值a[ ...

  9. js事件技巧方法整合

    window.resizeTo(800,600); //js设置浏览器窗口尺寸 window.open (function(){ resizeTo(640,480);//设置浏览器窗口尺寸 moveT ...

  10. java基础 常用组件

    几个常用组件: 在图形用户界面编程中,我们常常会提供用户登陆界面,比如登陆到会员管理系统,登陆到工资管理系统,仓库管理系统等,如下图我们就会用到: 1. 文本框(JTextField) 2. 密码框( ...