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. SVO原理解析

    最近空闲时间在研究Semi-Direct Monocular Visual Odometry(SVO)[1,2],觉得它值得写一写.另外,SVO的运算量相对较小,我想在手机上尝试实现它. 关于SVO的 ...

  2. js导出excel

    function inportEx() { $("#btnEx").text("导出中..."); var fugNumber = "";/ ...

  3. java网络编程精解demo1---读取用户控制台的输入的数据并显示

    package test3; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream ...

  4. Clean Old Kernels on CentOS

    1. Check Installed Kernels $ rpm -q kernel 2. Clean Old Kernels ## need Install yum-utils ## ## Pack ...

  5. ueditor工具栏新增按钮教程

    我做了一个人博客网站想要一段文字高亮显示,大概是这样: 但是ueditor上面的代码语言是一大块的<pre></pre>标签,觉得不合适,就在网上搜索相关文章,自己结合着实现了 ...

  6. 【原创】JEECMS v6~v7任意文件上传漏洞(2)

    文章作者:rebeyond 受影响版本:v6~v7 漏洞说明: JEECMS是国内Java版开源网站内容管理系统(java cms.jsp cms)的简称.该系统基于java技术开发,继承其强大.稳定 ...

  7. Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

    Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的 ...

  8. 报错:init: Could not find wglGetExtensionsStringARB!

    如下操作即可恢复:

  9. Python之路【第二十三篇】爬虫

    difference between urllib and urllib2 自己翻译的装逼必备 What is the difference between urllib and urllib2 mo ...

  10. Mybatis入门DEMO

    下面将通过以下步骤说明如何使用MyBatis开发一个简单的DEMO: 步骤一:新建表STUDENTS 字段有: Stu_Id.Stu_Name.Stu_Age.Stu_Birthday CREATE ...