zoukankan      html  css  js  c++  java
  • sed练习第一节

    ed语法和基本命令

    employee.txt文件内容如下:

    101,John Doe,CEO

    102,Jason Smith,IT Manager

    103,Raj Reddy,Sysadmin

    104,Anand Ram,Developer

    105,Jane Miller,Sales Manager

    Sed代表Stream Editor(流编辑器),是操作、过滤和转换文本内容的强大工具。Sed可以从文件和管道中读取输入。在你的bash启动文件中,就可能有不少用来设置各种环境的sed命令,这些命令你或许并不是很理解。

    用法:

    sed [option] {sed-commands} {input-file}

    sed首先从input-file中读取第一行,然后执行所有的sed-commands;再读取第二行;执行所有的sed-commands,重复这个过程,直到input-file结束

    示例1,打印所有的行

    [root@sishen ~]# sed -n 'p' employee.txt

    101,John Doe,CEO

    102,Jason Smith,IT Manager

    103,Raj Reddy,Sysadmin

    104,Anand Ram,Developer

    105,Jane Miller,Sales Manager

    使用sed脚本的语法是:

    sed [ options ] -f { sed-commands-in-a-file } { input-file }

    示例2,使用sed脚本打印输出/etc/passwd文件中以root和nobody开头的行:

    [root@sishen ~]# vim test.sed

    /^root/ p

    /^nobody/ p

    [root@sishen ~]# sed -n -f test.sed /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    nobody:x:99:99:Nobody:/:/sbin/nologin

    -e的用法

    sed [ options ] -e { sed-command-1 } -e { sed-command-2 } { input-file }

    [root@sishen ~]# sed -n -e '/^root/p' -e '/^nobody/p' /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    nobody:x:99:99:Nobody:/:/sbin/nologin

    或者

    [root@sishen ~]# sed -n

    > -e '/^root/p'

    > -e '/^nobody/p'

    > /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    nobody:x:99:99:Nobody:/:/sbin/nologin

    注意空格!!!

    也可以使用{ }将多个命令分组执行

    sed [ options ] ‘{

    sed-command-1

    sed-command-2

    }’input-file

    [root@sishen ~]# sed -n '{

    /^root/ p

    /^nobody/ p

    }' /etc/passwd #注意空格

    root:x:0:0:root:/root:/bin/bash

    nobody:x:99:99:Nobody:/:/sbin/nologin

    注意:sed不会修改原始文件input-file,它只是将结果内容输出到标准输出设备。如果保持变更,应该使用重定向>filename.txt

  • 相关阅读:
    UVA 11198 Dancing Digits
    UVA 10085 The most distant state
    UVA 321 The New Villa
    UVA 10422 Knights in FEN
    poj2876
    poj2895
    poj2914
    poj2892
    poj2941
    LD SDK LDCControlDll 中 CXMLFile的进一步使用方法,建议以后改进
  • 原文地址:https://www.cnblogs.com/zd520pyx1314/p/6061331.html
Copyright © 2011-2022 走看看