linux系统中如何将多个连续的空行合并为一个空行
2021/7/5 7:21:59
本文主要是介绍linux系统中如何将多个连续的空行合并为一个空行,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、测试数据如下
[root@centos79 test]# ls a.txt [root@centos79 test]# cat a.txt a g r e i x k like a f g liker [root@centos79 test]# cat -A a.txt a g r e$ $ $ $ $ i x k like$ a f g liker$
2、将多个空行合并为一个空行
[root@centos79 test]# ls a.txt [root@centos79 test]# cat a.txt a g r e i x k like a f g liker [root@centos79 test]# awk '{if($0 != ""){print NR,$0} else {print $0}}' a.txt ## 给非空行加上行号 1 a g r e 6 i x k like 7 a f g liker [root@centos79 test]# awk '{if($0 != ""){print NR,$0} else {print $0}}' a.txt |uniq ## 对所有行去重 1 a g r e 6 i x k like 7 a f g liker [root@centos79 test]# awk '{if($0 != ""){print NR,$0} else {print $0}}' a.txt |uniq|cut -d " " -f 2- ## 删除行号 a g r e i x k like a f g liker
3、修改测试数据, 如果空行中是空格或者水平制表符
修改后的测试数据:
[root@centos79 test]# ls a.txt [root@centos79 test]# cat a.txt a g r e i x k like a f g liker [root@centos79 test]# sed -n l a.txt a g r e$ $ $ \t\t$ $ i x k like$ a f g liker$
4、将多个空行合并为一个空行
[root@centos79 test]# ls a.txt [root@centos79 test]# cat a.txt a g r e i x k like a f g liker [root@centos79 test]# awk '{if(length != 0){print NR,$0} else {print $0}}' a.txt ## 以下结果说明 有空格和制表符的空行也会添加行号,因此先删除行首空格和制表符 1 a g r e 3 4 6 i x k like 7 a f g liker
删除行首空格和制表符:
[root@centos79 test]# sed -n l a.txt a g r e$ $ $ \t\t$ $ i x k like$ a f g liker$ [root@centos79 test]# sed 's/^\s*//g' a.txt |sed -n l ## 删除行首的空格和制表符 a g r e$ $ $ $ $ i x k like$ a f g liker$ [root@centos79 test]# sed 's/^[\t ]*//g' a.txt | sed -n l ##删除行首的空格和制表符 a g r e$ $ $ $ $ i x k like$ a f g liker$
将多个空行合并为一个空行:
[root@centos79 test]# ls a.txt [root@centos79 test]# cat a.txt a g r e i x k like a f g liker [root@centos79 test]# sed 's/^\s*//g' a.txt | cat -A ## 删除行首的空格和制表符 a g r e$ $ $ $ $ i x k like$ a f g liker$ [root@centos79 test]# sed 's/^\s*//g' a.txt | awk '{if($0 != ""){print NR,$0} else {print $0}}'|uniq ##将多个空行合并为一个空行 1 a g r e 6 i x k like 7 a f g liker [root@centos79 test]# sed 's/^\s*//g' a.txt | awk '{if($0 != ""){print NR,$0} else {print $0}}'|uniq | cut -d " " -f 2- a g r e i x k like a f g liker
这篇关于linux系统中如何将多个连续的空行合并为一个空行的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04Linux系统上离线升级SSH服务的具体操作步骤-icode9专业技术文章分享
- 2024-06-0600-macOS和Linux安装和管理多个Python版本
- 2024-03-30[译]漫画SELinux概念
- 2024-03-29linux 移动文件
- 2024-03-28linux .so file
- 2024-03-28Linux 磁盘管理
- 2024-03-28Linux学习笔记(十三)磁盘管理(一):磁盘分区
- 2024-03-26linux 创建 文件
- 2024-03-25使用SecureCRT对Linux vim进行颜色设置
- 2024-03-202019-2020-12 20199317 《Linux内核原理与分析》 第十二周作业