• sed删除指定行


    待处理文本如1-8行文本

    $cat a 
    1
    2
    3
    4
    5
    6
    7
    8

    sed删除连续指定行:如1-4行

    $sed '1,4d' a
    5
    6
    7
    8

    sed删除不连续指定行:如第一行和第三行

    $sed -e '1d' -e '3d' a
    2
    4
    5
    6
    7
    8

     一个例子:

    我有一个list文件如下:

    $cat list 
    unknown_other_2     #文件名,我要从文件里抓取一些信息,下同,发现下图里没有有些没有我想要的信息,test后面的数字代表这个list文件的行号
    unknown_other_5   #我要删除大小为0的行
    unknown_other_1      
    F002_other_1
    unknown_other_14
    t_unknown_other_4
    t_unknown_other_6
    t_unknown_other_4
    t_unknown_other_1
    t_unknown_other_4
    t_unknown_other_12
    t_unknown_other_4
    t_unknown_other_13
    t_unknown_other_10
    t_unknown_other_12
    t_unknown_other_4
    t_unknown_other_42
    t_unknown_other_16
    t_unknown_other_27
    t_unknown_other_14
    t_unknown_other_31
    t_unknown_other_12
    t_unknown_other_10
    t_unknown_other_13
    t_unknown_other_11
    t_unknown_other_22
    t_unknown_other_21
    t_unknown_other_45
    t_unknown_other_42
    t_unknown_other_4
    t_unknown_other_33
    t_unknown_other_1
    t_unknown_other_12
    t_unknown_other_14
    t_unknown_other_1
    t_unknown_other_31
    t_unknown_other_4
    t_unknown_other_11
    t_unknown_other_11
    t_unknown_other_3

    test文件,test后面的数字对应上面list行号:

    代码如下:

    ls -l |awk '{if ($5==0){print $9}}'|cut -d "t" -f3|xargs   -I {} echo -e "-e {}d"|xargs|xargs -I {} echo sed -i -e {} list|sh
    
    #执行结果
    #sed -i -e test10d -e test12d -e test14d -e test16d -e test2d -e test27d -e test3d -e test31d -e test32d -e test33d -e test35d -e test38d -e test39d -e test4d -e test40d -e test5d -e test9d list
    
    #分解说明
    #ls -l |awk '{if ($5==0){print $9}}'  列出大小为0的test文件
    #cut -d "t" -f3  抓取后面的数字    用字符"t" 分割test文件,取第三列数字部分
    #xargs -I {} echo -e "-e {}d"|xargs|xargs -I {} echo sed -i -e {} list  打印执行语句
    #sh  执行
  • 相关阅读:
    023 使用@Value注解完成配置信息的注入
    022 使用@Bean的属性完成初始化和销毁的指定
    021 使用@Import注解完成Bean的注册
    020 使用@Conditional注解完成条件注入
    019 使用@Lazy完成懒加载
    018 使用@Scope完成bean的作用域的声明
    017 包扫描器和标记注解
    016 @Configuration和@Bean
    015 spel
    vs2010编辑器中找不到System.Web.Extensions.dll
  • 原文地址:https://www.cnblogs.com/xlij1205/p/10490751.html
Copyright © 2020-2023  润新知