zoukankan      html  css  js  c++  java
  • sed常用命令

    sed也是一个管道命令。

    sed [-nefr] [动作]

    -n 加上-n参数后,只有经过sed特殊处理的那些行才会被列出来

    -e 直接在命令行模式进行sed的动作编辑

    -i  直接修改读取的文件内容,而不是由屏幕输出。

    -f 直接将sed的动作写在一个文件内,-f filename则可以执行filename内的sed动作

    -r sed的动作支持的是扩展型正则表达式的语法

    动作说明:

    [n1][,n2]function

    n1,n2:不见得会存在,一般代表选择进行动作的行数

    function的参数:

    a: 新增,a的后面可以接字符串,这些字符串会出现在新一行。(目前行的下一行)

    c: 替换,c的后面可以接字符串,这些字符串可以替换n1,n2之间的行

    d: 删除

    i: 插入,i的后面可以接字符串,这些字符串会出现在目前行的前一行

    p: 打印,通常与sed -n一起使用

    s: 可以部分替换,s动作可以搭配正则表达式。 如: 1,20s/old/new/g

    以行为单位的新增/删除功能

    nl /etc/passwd | sed '2,5d' 表示删除2~5行,本应该执行sed -e,但是没有-e也行。sed后的动作,必须用' '括起来。如果要删除第3到最后一行,则是 nl /etc/passwd | sed '3,$d',那个"$"代表最后一行

    在第二行前增加行。

    nl /etc/passwd | sed '2i drink tea?'

    在第二行后增加行

    nl /etc/passwd | sed '2a drink tea?'

    以行为单位的替换与显示功能

    nl /etc/passwd | sed '2,5c No 2~5 number'

    nl /etc/passwd | sed -n '2,5p' 只显示2~5行

    部分数据的查找并替换的功能

    sed 's/要被替换的字符串/新的字符串/g',可以用空串替换用以删除

    例如: /sbin/ifconfig wlan0 | grep 'inet addr'| sed 's/^.*addr://g'| sed 's/Bc.*//g'    可以提取出来ip地址

    直接修改文件内容

    将regular_express.txt内每一行结尾为'.'的换成'!'

    sed -i 's/.$/!/g' regular_express.txt

  • 相关阅读:
    ABP框架系列之三:(Entity Framework Integration-实体框架集成)
    ABP框架系列之二:(Entity Framework Core-实体核心框架)
    ABP框架系列之一:(Entity-实体)
    MUI框架开发HTML5手机APP(一)--搭建第一个手机APP(转)
    树莓派安装mono
    【C#】VS2015开发环境的安装和配置(转)
    ABP框架
    WebApi系列~HttpClient的性能隐患(转)
    django中navie时间和aware时间详解
    js扩展运算符(spread)是三个点(...)
  • 原文地址:https://www.cnblogs.com/chengsheng/p/5658299.html
Copyright © 2011-2022 走看看