zoukankan      html  css  js  c++  java
  • 一分钟sed入门

    【转载于58同城沈剑】

    1.简介

    sed是一种行编辑器,它一次处理一行内容。

    2.sed调用方式

    sed [options] 'command' file(s)

    sed [options] -f scriptfile file(s)

    第一种直接在命令行中执行,第二种把命令写到了脚本中,二者无本质区别。

    示例(1):打印hello.txt的内容

    sed -n p hello.txt

    说明:

    -n:sed会在处理一行文本前,将待处理的文本打印出来,-n参数关闭了这个功能

    p:命令表示打印当前行

    hello.txt:待处理的文件

    这个指令相当于cat

    3.定址

    告诉sed你期望处理的行,由逗号分隔的两个数字表示,$符号表示最后一行;

    当然也可以使用正则来定位期望处理的行。

    示例(2):打印hello.txt的第二行到最后一行

    sed -n '2,$'p hello.txt

    示例(3):打印hello.txt中正则匹配"100"的行

    sed -n '/100/'p hello.txt

    4.基本命令

    hello.txt的内容为

    1 2 3

    10 20 30

    100 200 300

    命令:a

    在匹配行的后面加入一行文本

    示例(4)匹配100的行,后面加入一行"new line"

    sed '/100/'a "new line" hello.txt

    输出内容为:

    1 2 3

    10 20 30

    100 200 300

    new line

    命令:i

    在匹配行的前面加入一行文本

    示例(5)匹配100的行,前面加入一行"new line"

    sed '/100/'i "new line" hello.txt

    输出内容为:

    1 2 3

    10 20 30

    new line

    100 200 300

    命令:c

    将匹配行替换为目的行

    示例(5)匹配100的行,替换为"new line"

    sed '/100/'c "new line" hello.txt

    输出内容为:

    1 2 3

    10 20 30

    new line

    命令:d

    将匹配行删除

    示例(5)删除匹配100的行

    sed '/100/'d hello.txt

    输出内容为:

    1 2 3

    10 20 30

    命令:s

    将匹配行替换

    详细命令为:s/pattern-to-find/replacement-pattern/g

    pattern-to-find:被替换的串

    replacement-pattern:替换成这个串

    g:全部替换,默认只替换匹配到的第一个

    示例(5)讲100替换为hello

    sed 's/100/hello/g' hello.txt

    输出内容为:

    1 2 3

    10 20 30

    hello 200 300

    5.元字符集

    ^:匹配一行的开始

    $:匹配一行的结束

    .:匹配某个字符

    [abc]:匹配指定范围字符

    6.实用命令

    匹配以10开头的行,并替换为yes,并输出

    sed -n 's/^10/yes/p' hello.txt

    输出内容为:

    yes 20 30

    yes0 200 300

    取出文件中行手的行号与冒号

    设hello.txt的内容为

    1:#!/bin/sh

    2:cat hello.txt

    3:exit

    sed -n -e 's/^[0-9]{1,}://g'p hello.txt

    输出结果为:

    #!/bin/sh

    cat hello.txt

    exit

  • 相关阅读:
    nginx配置跨域问题
    几个经典的TCP通信函数
    表达格式和数值格式的转换
    主机字节序与网络字节序的转换
    一对经典的时间获取客户/服务器程序
    关于TIME_WAIT状态
    一个经典的比喻( 关于TCP连接API )
    《UNIX 网络编程 第二版》编译环境的搭建( 运行本专栏代码必读 )
    简述C++中的多态机制
    最佳谓词函数 --- 函数对象
  • 原文地址:https://www.cnblogs.com/atomicbomb/p/7646551.html
Copyright © 2011-2022 走看看