码迷,mamicode.com
首页 > 其他好文 > 详细

sed

时间:2018-04-14 11:20:19      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:sed

  • sed文本编辑器(非交互)
  • 逐行处理编辑器
  • sed 默认会显示全文
  • sed [选项] ‘条件指令‘ 文件 如果没有条件 即修改所有

    选项

    -r #使sed支持扩展正则
    -n #屏蔽默认的输出
    -i #修改原文件

    条件

    1 行号
    2 /支持正则/
    3 没有条件 所有

    指令

    增a add
    删d delete
    改s substitution
    查p print

    p 打印

    ]# sed -n ‘3p‘ /etc/passwd
    ]# sed ‘3p‘ /etc/passwd
    ]# sed -n ‘3p;5p;8p‘ /etc/passwd
    #分号隔开 第三行 第五行 第八行
    ]# sed -n ‘/root/p‘ /etc/passwd
    ]# sed -n ‘2,5p‘ #打印第二到第五行
    ]# sed -n ‘4,+10p‘ #打印第四行 以及后面的十行
    ]# sed -n ‘p;n‘ 文件 #奇数行
    ]# sed -n ‘n;p‘ 文件 #偶数行
    ]# sed -n ‘$=‘ 文件 #统计行数

    d 删除

    sed ‘2d‘ 文件
    sed ‘d‘ 文件

    s 替换/删除

    #s的替换符号 可以替换为任意符号
    ]# sed ‘s/old/new/‘ 文件 #只能替换第一个
    ]# sed ‘s/old/new/g‘ 文件 #替换所有
    ]# sed ‘s/old/new/2‘ 文件 #替换第二个
    ]# sed ‘3s/old/new/2‘ 文件 #替换第三行的第二个
    ]# sed ‘s/old//2‘ 文件 #删除第三行的第二个
    ]# sed -n ‘s#/bin/bash#/sbin/sh#p‘ /etc/passwd# sed ‘4,7s/^/#/‘ test.txt #将4-7行行前加## sed -r ‘s#^(.)(.)(.)$#\3\2\1#‘ test.txt
    #把每一行第一个字母和最后一个字母对调# sed -r ‘s#^(.)(.)(.
    )(.)(.)$#\1\4\3\2\5#‘ test.txt
    #把每一行第二个和第五个字母对调

    a 后面插入一行append

    ]# sed ‘3a test‘ test.txt

    i 前面插入一行insert

    ]# sed ‘3i test‘ test.txt

    c 替换行replace

    ]# sed ‘2c xx\nyy\nzz‘ test.txt 支持\n 回车

    r 导入

    sed ‘1,3r /etc/hostname‘ test.txt

    w 另存为

    sed ‘w test1.txt‘ test.txt
    #将test.txt文件的内容导入到test1.txt中

    h 复制

    g 粘贴
    ]# sed ‘3h;5g‘ a.txt
    #读取到第三行的时候 将第三行的内容覆盖复制 当读到第五行时 将第三行的内容覆盖第五行
    ]# sed ‘3H;5G‘ a.txt
    ]# sed ‘3h;5G‘ a.txt
    ]# sed ‘3H;5g‘ a.txt
    ]# sed ‘3h;3d;5g‘ a.txt

    sed

    标签:sed

    原文地址:http://blog.51cto.com/2168836/2103337

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!