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

    sed替换  stream editor 根据定位到到数据行修改数据,用于数据修改

     sed[addr]X[options]

    -e 表达式

    sed -n '2p' 打印第二行

    sed -n '/00:00:01/,/00:00:04/' /tmp/nginx.log  打印1-4之间的数据

    sed 's#hello#world#' 修改

    -i 直接修改源文件

    -E 扩展表达式

    --debug

    d 删除

    p 打印,通常结合 -n 参数

    s/正则/匹配的内容/[FLAGS]

    seq 11 21 | sed -n '/14/,/19/p'
    14
    15
    16
    17
    18
    19

    seq 11 21 | sed -n '2, 4p'
    12
    13
    14

    12 匹配的字段

    seq 100 110 | sed 's/..//'
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    0

    seq 126 134 | sed -E 's/..(.)/1/g'
    6
    7
    8
    9
    0
    1
    2
    3
    4

    seq 126 134 | sed -E 's/(.)(.)./12/g'
    12
    12
    12
    12
    13
    13
    13
    13
    13

    seq 126 134 | sed -E 's/(.)(.)./1+2/g'
    1+2
    1+2
    1+2
    1+2
    1+3
    1+3
    1+3
    1+3
    1+3

    sed 's/hello/A/' test.txt 将文本文件中的hello替换为A,但是改的是模式空间的内容,原文件没有被修改

    sed -i 's/hello/A/' test.txt    添加了-i修改了原文件

    sed -i.bak 's/A/hello/' test.txt 防止替换错误,加上.bak可以多生成bak文件

    echo 123abc456 | sed 's#[2-9]#x#g' g全部替换  s#正则#结果#

    1xxabcxxx

     awk '{print $7}' /tmp/nginx.log | sed 's#[0-9]{1,}#*#g'  将IP地址后的0-9大于等于1及多个数字都替换为*

    /topics/*/replies/*/edit
    /topics/*?locale=zh-TW

     awk '{print $7}' /tmp/nginx.log | sed -e 's#[0-9]{1,}#*#g' -e 's#?.*##'  -e可以加上多个正则

    echo "cat dog cat dog" |sed 's/cat/wulala/' 替换的结果为:wulala dog cat dog

    echo "cat dog cat dog" |sed 's/cat/wulala/g'  替换的结果为:wulala dog wulala dog (符合条件的全部都替换)

  • 相关阅读:
    Android系统移植与驱动开发案例 第一章
    收缩SQL数据库日志文件
    SQL Server Configuration Manager出错
    sql server 2008 评估期已过期解决办法
    服务器管理器打开角色、功能出错
    常用网络命令(windows)
    linux 常用命令
    获取指定月的最后一天
    浅谈JVM原理
    Maven+SSM+oracle框架实现简单的增删改查
  • 原文地址:https://www.cnblogs.com/godlove/p/11479924.html
Copyright © 2011-2022 走看看