美文网首页
Linux文本处理三剑客之 sed

Linux文本处理三剑客之 sed

作者: 奇点er | 来源:发表于2022-08-21 23:41 被阅读0次

    sed是操作、过滤和转换文本内容的强大工具。常用功能包括对文件实现快速增删改查(增加、删除、修改、查询),其中查询的功能中最常用的两大功能是过滤(过滤指定字符串)、取行(取出指定行)。

    以下是一些在使用过程中的案例总结:

    1. 过滤出包含字符<none>的行
    sed -n '/<none>/p'
    
    1. 替换 <none> 前面的内容 为空
    sed -n '{s/^[[:space:]]*//;p;}'
    
    1. 替换空格及后面的内容为空
    sed -n '{s/[[:space:]].*$//;p;}'
    
    1. 换行符替换为空格
    sed -n 's/\n/ /;p;' | sed ":label;N;s/\n/ /;b label"
    

    跟之前 grep 命令格式类似,sed命令格式如下:

    sed [选项]  [sed内置命令字符]  [输入文件]
    

    选项命令主要有两个:

    -n
    取消默认的 sed 的输出,常与 sed 内置命令p 连用。
    -i
    直接修改文件内容,而不是只输出到终端。

    内置命令主要实现对文件的操作,例如增删改,主要有 4 个:

    a
    全称 append,表示追加文本,在指定行后追加一行或多行内容
    d
    全称 delete,表示删除匹配行的文本
    i
    全称 insert,表示插入文本,在指定行前插入一行或多行内容
    p
    全称 print,表示打印匹配行的内容。
    s/regexp/replacement/
    匹配 regexp 部分的文本,并用replacement替换之,通常结尾跟 g 连用,表示全局替换 s/regexp/replacement/g

    相关文章

      网友评论

          本文标题:Linux文本处理三剑客之 sed

          本文链接:https://www.haomeiwen.com/subject/ixvbgrtx.html