Linux命令(十二)sed

sed基本用法:
sed: stream editor
    行编辑器 (全屏编辑器: vi)
    
sed: 模式空间
默认不编辑原文件,仅对模式空间中的数据做处理;而后,处理结束后,将模式空间打印至屏幕;

sed [options] ‘AddressCommand‘ file ...
    -n: 静默模式,不再默认显示模式空间中的内容
    -i: 直接修改原文件
    -e SCRIPT -e SCRIPT:可以同时执行多个脚本
    -f /PATH/TO/SED_SCRIPT
        sed -f /path/to/scripts  file
    -r: 表示使用扩展正则表达式
    
Address:
1、StartLine,EndLine
    比如1,100
    $:最后一行
2、/RegExp/
    /^root/
3、/pattern1/,/pattern2/
    第一次被pattern1匹配到的行开始,至第一次被pattern2匹配到的行结束,这中间的所有行
4、LineNumber
    指定的行
5、StartLine, +N
    从startLine开始,向后的N行;
    
Command:
    d: 删除符合条件的行;
    p: 显示符合条件的行;
    a \string: 在指定的行后面追加新行,内容为string
        \n:可以用于换行
    i \string: 在指定的行前面添加新行,内容为string
    r FILE: 将指定的文件的内容添加至符合条件的行处
    w FILE: 将地址指定的范围内的行另存至指定的文件中;
    s/pattern/string/修饰符: 查找并替换,默认只替换每行中第一次被模式匹配到的字符串
        加修饰符
        g: 全局替换
        i: 忽略字符大小写
    s///: s###, [email protected]@@    
        \(\), \1, \2
        
    l..e: like-->liker
          love-->lover
          
          like-->Like
          love-->Love
    
    &: 引用模式匹配整个串

sed练习:
1、删除/etc/grub.conf文件中行首的空白符;
sed -r ‘[email protected]^[[:spapce:]][email protected]@g‘ /etc/grub.conf
2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5;
sed ‘[email protected]\(id:\)[0-9]\(:initdefault:\)@\15\[email protected]‘ /etc/inittab
3、删除/etc/inittab文件中的空白行;
sed ‘/^$/d‘ /etc/inittab
4、删除/etc/inittab文件中开头的#号;
sed ‘[email protected]^#@@g‘ /etc/inittab
5、删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符;
sed -r ‘[email protected]^#[[:space:]][email protected]@g‘ /etc/inittab
6、删除某文件中以空白字符后面跟#类的行中的开头的空白字符及#
sed -r ‘[email protected]^[[:space:]]+#@@g‘ /etc/inittab
7、取出一个文件路径的目录名称;
echo "/etc/rc.d/" | sed -r ‘[email protected]^(/.*/)[^/]+/[email protected]\[email protected]‘    
基名:
echo "/etc/rc.d/" | sed -r ‘[email protected]^/.*/([^/]+)/[email protected]\[email protected]‘

时间: 2024-11-01 11:55:35

Linux命令(十二)sed的相关文章

攻城狮在路上(叁)Linux(十二)--- Linux的目录与路径

一.相对路径与绝对路径: A.绝对路径:由根目录/开始写起的路径,例如 /usr/share/doc B.相对路径:不是由根目录/开始写起的路径. 二.目录的相关操作: 1.cd: 目录切换 cd ~vbird; cd ~;<==切换到当前用户的工作目录 cd ..;<==返回到上一级目录 cd -;(回到上一个目录) cd /usr/share; cd share; 2.pwd:显示当前所在的目录 pwd -p; <== 显示出实际的目录,而非仅是连接文件本身的目录名. 3.mkdir

利用多核CPU来加速Linux命令 — awk、sed、bzip2、grep、wc

你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作--一些无法并行的操作.数据专家们,我是在对你们说.你可能有一个4核或更多核的CPU,但我们合适的工具,例如 grep, bzip2, wc, awk, sed等等,都是单线程的,只能使用一个CPU内核.借用卡通人物Cartman的话,"如何我能使用这些内核"?要想让Linux命令使用所有的CPU内核,我们需要用到GNU Parallel命令,它让我们所有的CPU内核在单机内做神奇的map-reduce操作

[转载]开发人员需要熟知的常用Linux命令之二:Crontab

上面说了那么多的常用命令,还有一个功能我们也经常用到,就是定时器.日程表,一般通过crontab来运行:crontab 指定在固定时间或固定间隔执行特定的脚本:crontab的常用参数有如下3个: -e :执行文字编辑器来设定日程表,一般默认的编辑器是VI: -r :删除目前所有的日程表: -l :列出目前所有的日程表: 设置日程表时,需要有固定的格式,共6部分,各部分间用空格间隔:其中第6个部分是要执行的命令,前5个部分是设置执行时间或者时间间隔的,具体取值范围和意义如下: 分钟[0-59]

Java开发人员必须掌握的Linux命令(二)

子曰:"工欲善其事,必先利其器." 学习应该是快乐的,在这个乐园中我努力让自己能用简洁易懂(搞笑有趣)的表达来讲解让知识或者技术,让学习之旅充满乐趣,这就是写博文的初心. 本篇的旅行地图如下: 第一站:小木 会先 登录酷炫的服务器,进入(cd)到神秘的magic 空间(目录),当我们忘记是怎么进入magic空间(目录)时候,可以使用(pwd)立刻得知目前所在的工作目录. 第二站:在magic空间(目录)中,创建(mkdir)一个属于自己的奇幻目录,然后创建(touch)属于自己文件.

【Linux】好玩的Linux命令(二)

关于Linux talk:http://man.linuxde.net/talk 下面文章转自:http://www.oschina.net/translate/11-lesser-known-useful-linux-commands (仅作时间参考,如果不允許转载,联系即删除) Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有价值的宝藏.有些

第五天:Linux 命令(二)

小Q : 计划永远赶不上变化,外界因素可以补救,但不要让这句话只是一句话. 本来今天的成果不少,但是有个以前的小师父今天来找我,又赶上饭点,于是就打算 一块去吃饭,结果在半路上碰到了,所有的小师傅们,结果就去喝酒了:这是真的躲不了 啊,之后又在待了两年的地方玩了会,到宿舍十点十分了,但还是要写一些,不能推: 步入正题啊! 命令:   文件处理与链接命令 软链接 :(好比是windows中的快捷方式) 格式:  ln    -s     文件名     链接文件名 硬链接 :   ln     

linux命令总结:sed

说明: sed用于过滤和转换文本的流编辑器 可以采用正则匹配,对文本进行插入删除修改等操作 Sed处理的时候,一次处理一行,每一次把当前处理的存放在临时缓冲区,处理完后输出缓冲区内容到屏幕,然后把下一行读入缓冲区,如此重复,直到处理完最后一行. 用法: sed [OPTION] ... {script-only-if-no-other-script} [input-file] ... sed [选项] ... [动作] [文件] 参数: -n 安静模式,取消默认输出-e 直接在命令列上进行sed

Linux常用命令(十二) - less

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性.使用了 less 时,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜. 1.命令格式: less [参数]  文件 2.命令功能: less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个

Linux经常使用命令(十二) - less

less 工具也是对文件或其他输出进行分页显示的工具.应该说是linux正统查看文件内容的工具.功能极其强大. less 的使用方法比起 more 更加的有弹性.使用了 less 时.更easy用来查看一个文件的内容! 除此之外,在 less 里头能够拥有很多其他的搜索功能,不止能够向下搜,也能够向上搜. 1.命令格式: less [參数]  文件 2.命令功能: less 与 more 类似.但使用 less 能够任意浏览文件.而 more 仅能向前移动,却不能向后移动,并且 less 在查看

Linux第十二周

1.请描述一次完整的http请求处理过程: 1.建立TCP连接 2.Web浏览器向Web服务器发送请求 3.Web浏览器发送请求头信息 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL).协议版本号,后边是MIME信息包括请求修饰符.客户机信息和可能的内容 4.Web服务器应答 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号.一个成功或错误的代码,后边是MIME信息包括服务器信息.实体信息和可能的内容. 5.Web服务器发送应答头信