zoukankan      html  css  js  c++  java
  • linux系统删除指定的行(sed命令)

    1、使用vim创建测试数据 a.txt

    [root@linuxprobe test]# cat a.txt
    1 w e t
    2 s f h
    3 z c g
    4 e a g
    5 a f w
    6 k h d
    7 w f r

    2、删除指定的行

    [root@linuxprobe test]# sed '3d' a.txt ##删除第三行
    1 w e t
    2 s f h
    4 e a g
    5 a f w
    6 k h d
    7 w f r
    [root@linuxprobe test]# sed '1,3d' a.txt ## 删除1到3行
    4 e a g
    5 a f w
    6 k h d
    7 w f r
    [root@linuxprobe test]# sed '1d;3d' a.txt ## 删除第一行和第三行
    2 s f h
    4 e a g
    5 a f w
    6 k h d
    7 w f r
    [root@linuxprobe test]# sed '/s/d' a.txt ##删除匹配s的行
    1 w e t
    3 z c g
    4 e a g
    5 a f w
    6 k h d
    7 w f r
    [root@linuxprobe test]# sed '/w/d' a.txt ##删除匹配w的行
    2 s f h
    3 z c g
    4 e a g
    6 k h d
    [root@linuxprobe test]# sed '/^5/d' a.txt ## 删除以5开头的行
    1 w e t
    2 s f h
    3 z c g
    4 e a g
    6 k h d
    7 w f r
    [root@linuxprobe test]# sed '/^[35]/d' a.txt ## 删除以3或者5开头的行
    1 w e t
    2 s f h
    4 e a g
    6 k h d
    7 w f r
    [root@linuxprobe test]# sed '/h$/d' a.txt ## 删除以h结尾的行
    1 w e t
    3 z c g
    4 e a g
    5 a f w
    6 k h d
    7 w f r
    [root@linuxprobe test]# sed '/[hw]$/d' a.txt ## 删除以h或者w结尾的行
    1 w e t
    3 z c g
    4 e a g
    6 k h d
    7 w f r
    [root@linuxprobe test]# cat a.txt  ##使用vim编辑器重新编辑测试数据
    1 w e t
    2 s f 4
    3 z c g
    4 e a g
    w a f w
    6 k h d
    t w f 2
    [root@linuxprobe test]# sed '/^[0-9]/d' a.txt  ## 删除所有以数字开头的行
    w a f w
    t w f 2
    [root@linuxprobe test]# sed '/^[a-zA-Z]/d' a.txt ## 删除所有以字母开头的行
    1 w e t
    2 s f 4
    3 z c g
    4 e a g
    6 k h d
    [root@linuxprobe test]# sed '/[0-9]$/d' a.txt ##删除所有以数字结尾的行
    1 w e t
    3 z c g
    4 e a g
    w a f w
    6 k h d
    [root@linuxprobe test]# sed '/[a-zA-Z]$/d' a.txt ##删除所有以字母结尾的行
    2 s f 4
    t w f 2
    [root@linuxprobe test]# cat a.txt ## 使用vim 编辑器重新编辑测试数据
    6 w e g
    t s f g
    2 z c g
    2 e a t
    y a f w
    6 k h w
    t w f 2
    [root@linuxprobe test]# sed '/^2.*g$/d' a.txt  ## 删除以2开头,同时以g结尾的行
    6 w e g
    t s f g
    2 e a t
    y a f w
    6 k h w
    t w f 2

       [root@linuxprobe test]# cat a.txt ## 测试数据
       6 w e g
       t s f g
       2 z c g
       2 e a t
       y a f w
       6 k h w
       t w f 2

    [root@linuxprobe test]# sed '/e/,+1d' a.txt ## 删除包含e及其后1行
    2 z c g
    6 k h w
    t w f 2
    [root@linuxprobe test]# sed '/z/,+2d' a.txt ## 删除包含z及其后2行
    6 w e g
    t s f g
    6 k h w
    t w f 2
  • 相关阅读:
    HDU ACM 1071 The area 定积分计算
    Effective C++:条款25:考虑写出一个不抛异常的swap函数
    史上最全站点降权原因解析
    shell脚本中的数学运算
    Spark 1.0.0 横空出世 Spark on Yarn 部署(Hadoop 2.4)
    索尼 LT26I刷机包 X.I.D 增加官方风格 GF A3.9.4 各方面完美
    Swift基础--使用TableViewController自己定义列表
    勒索软件出新招,小心你的隐私和財产安全!
    Http协议具体解释
    Android Studio解决unspecified on project app resolves to an APK archive which is not supported
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/13763879.html
Copyright © 2011-2022 走看看