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. ubuntu10.04编译安装LAMP

    ubuntu10.04编译安装LAMP以及简单wordpress的使用 : http://linuxme.blog.51cto.com/1850814/971631 一.源码安装LAMP 网上有一堆关 ...

  2. java中HashMap重要性质和优化总结

    原文: http://www.cnblogs.com/junyuhuang/p/4519257.html

  3. vim as python IDE

    参照Martin Brochhaus大神的视频,今天我也尝试了一下配置vim python IDE以后使用过程中只需要https://github.com/wyj1239630590/vim-as-a ...

  4. centos6.5 卸载php

    1.删除php,删除之前需要查看php依赖包,使用 rpm -qa|grep php [root@localhost ~]# rpm -qa |grep phpphp55w-mysql-5.5.38- ...

  5. p/invoke碎片--对类的封送处理

    主要是看默认封送处理行为 按类成员的类型是否为“可直接传递到非托管内存”的类型来分类;按照成员中是否有“可直接传递到非托管内存”的类型来讨论. 所有成员都是“可直接传递到非托管内存”的类型 托管代码和 ...

  6. 测试数组push和unshift方法的效率

    先贴代码,之后再来补内容 <!DOCTYPE HTML> <html> <head> <title>测试数组push和unshift方法的效率</ ...

  7. [Tomcat] Tomcat的classloader

    定义 同其他服务器应用一样,tomcat安装了各种classloader(classes that implement java.lang.ClassLoader) Bootstrap | Syste ...

  8. AngularJS2.0 教程系列(一)

    http://my.oschina.net/u/2275217/blog/482178

  9. JS中用apply、bind实现为函数或者类传入动态个数的参数

    为纪念10年没写blog,第一篇博文就以这样一个有趣的窍门开始吧 -___- 在ES5中,当我们调用一个函数时,如果要传入的参数是根据其他函数或条件判断生成的,也就是说不确定会传入多少个参数时,在不改 ...

  10. java开发问题总结-4-Maven使用问题汇总

    Non-resolvable parent POM [INFO] Scanning for projects... [ERROR] The build could not read 1 project ...