• linux系统中如何删除空行


    1、测试数据

    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# cat -A a.txt
    1 d f$
    $
    2 3 f$
    3 s 8$
    $
    $
    4 f a$
    d g 8$

    (删除完全的空行, 不包含空格和制表符)

    2、sed

    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# sed '/^$/d' a.txt
    1 d f
    2 3 f
    3 s 8
    4 f a
    d g 8
    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# sed -n '/./p' a.txt
    1 d f
    2 3 f
    3 s 8
    4 f a
    d g 8

    2、grep

    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# grep -v "^$" a.txt
    1 d f
    2 3 f
    3 s 8
    4 f a
    d g 8
    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# grep "^." a.txt
    1 d f
    2 3 f
    3 s 8
    4 f a
    d g 8

    3、awk

    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# awk '$1 ~ /./ {print $0}' a.txt
    1 d f
    2 3 f
    3 s 8
    4 f a
    d g 8
    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# awk '/./ {print $0}' a.txt
    1 d f
    2 3 f
    3 s 8
    4 f a
    d g 8
    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# awk '$0 != ""' a.txt
    1 d f
    2 3 f
    3 s 8
    4 f a
    d g 8

    包含空格或支付表的情况。

    1、测试数据

    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# sed -n l a.txt
    1 d f$
    $
    2 3 f$
    3 s 8$
       $
    \t\t$
    4 f a$
    d g 8$

    2、sed

    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# sed '/^[\t ]*$/d' a.txt
    1 d f
    2 3 f
    3 s 8
    4 f a
    d g 8
    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# sed '/^\s*$/d' a.txt
    1 d f
    2 3 f
    3 s 8
    4 f a
    d g 8

    2、awk

    root@PC1:/home/test/test/test# cat a.txt
    1 d f
    
    2 3 f
    3 s 8
    
    
    4 f a
    d g 8
    root@PC1:/home/test/test/test# awk NF a.txt
    1 d f
    2 3 f
    3 s 8
    4 f a
    d g 8
  • 相关阅读:
    Delphi 10.4.2使用传统代码提示方案(auto complete)(转)
    Sqlserver 清除维护相关日志
    postgresql 时间戳自动更新
    sqlserver 修改电脑名或是 修复数据引擎
    postgresql uuid(guid)生成函数及使用
    List.toArray使用方法
    HashMap 1.7与1.8区别
    设计模式之观察者模式实现(JAVA)
    ubuntun下安装rabbitMq
    Java中replace与replaceAll区别
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15463315.html
Copyright © 2020-2023  润新知