首页 > 系统相关 >linux shell脚本实现删除连续的空行为一行

linux shell脚本实现删除连续的空行为一行

时间:2023-07-11 23:11:27浏览次数:37  
标签:shell 22 删除 30 PC1 linux test02 txt root

 

001、awk实现

[root@PC1 test02]# ls
a.txt
[root@PC1 test02]# cat a.txt          ## 测试数据
01 02 03 04 05
06 07 08 09 10



11 12 13 14 15
16 17 18 19 20

21 22 23 24 25
26 27 28 29 30                        ## 将多个连续的空行压缩为一个空行
[root@PC1 test02]# awk 'BEGIN{tag = 0} {if($0 ~ /^$/) {tag++} else {tag = 0}; if(tag > 1) {next} else {print $0}}' a.txt
01 02 03 04 05
06 07 08 09 10

11 12 13 14 15
16 17 18 19 20

21 22 23 24 25
26 27 28 29 30

 

002、sed实现

[root@PC1 test02]# ls
a.txt
[root@PC1 test02]# cat a.txt
01 02 03 04 05
06 07 08 09 10



11 12 13 14 15
16 17 18 19 20

21 22 23 24 25
26 27 28 29 30
[root@PC1 test02]# sed '/^$/{N;/^\n$/d}' a.txt    ## 将多个连续的空行转换为单个空行
01 02 03 04 05
06 07 08 09 10

11 12 13 14 15
16 17 18 19 20

21 22 23 24 25
26 27 28 29 30

 。

 

标签:shell,22,删除,30,PC1,linux,test02,txt,root
From: https://www.cnblogs.com/liujiaxin2018/p/17546219.html

相关文章

  • linux 中sed命令的标签和跳转功能
     001、[root@PC1test02]#lsa.txt[root@PC1test02]#cata.txt##测试数据01020304050607080910[root@PC1test02]#sed':a;N;s/\n//;ta'a.txt##将多行数据转换为一行数据01020304050607080910 命令解释: sed默认只按行......
  • linux基础命令及常用命令总结
    1.ls命令ls命令是最基础的命令之一,作用是列出当前目录下所有的文件和目录。ls命令有很多选项可以使用,比较常用的是-l选项,可以以详细信息的形式列出所有文件和目录的信息。示例:列出当前目录下的所有文件和目录,使用-l选项#ls-i2.cd命令cd命令可以进入指定的目录。在Linux......
  • mitmproxy初探(windows版以及linux版)
    mitmproxy简介mitmproxy是一组工具,包括:mitmproxy(交互式的,具有控制台界面,但不支持windows)mitmweb(基于web的图形化界面)mitmdump(命令行版本)win10安装mitmproxy查阅了官方文档以及各位大佬博客,基本上都是在python环境下安装的,但是python版本好像要高于3.6,我就试了一下直接用pip......
  • Linux创建用户、删除用户
     一、创建用户1.创建用户:vagrant为用户名->sudouseradd-mvagrant-d/home/vagrant-s/bin/bash2、为创建的用户设置密码->sudopasswdvagrant3、修改用户的权限:(/etc/sudoers文件只有r权限,在改动前需要增加w权限,改动后,再去掉w权限)(1)为sudoers增加写......
  • C程序设计(基于Linux平台) 微课版
    本书以“学完C语言之后知道能做什么”为编写目标,共包括9章:LinuxC语言程序设计简介、C语言基础I、C语言基础II、链表、C标准库、Linux系统调用、Socket编程、Pthreads编程、GTK图形界面编程。其中,C语言基础I、C语言基础II、C标准库、Linux系统调用为本书最基础最......
  • 不小心删除服务[null]后,git bash出现错误,如何解决?
    不小心删除服务[null]后,gitbash出现错误,如何解决?错误描述:打开gitbash、msys2都会出现错误「bash:/dev/null:Nosuchdeviceoraddress」问题定位:1.使用搜索引擎搜索「bash:/dev/null:Nosuchdeviceoraddress」,一般答案是[null]服务出现问题,可能是缺少对应的文件「C:......
  • linux 中ls -F 选项
     ls-F选项在输出项追加文件的类型标识符。例如:001、[root@PC1test02]#ls##测试文件testtest01.txttest02.txttest03.txttest04.txtxxx001.pedxxx003.pedtest01.csvtest02.csvtest03.csvtest03.txt.linktest05.txtxxx002.ped......
  • linux 设置代理
    linux设置代理exportproxy="http://XXXX:8080"exporthttp_proxy=$proxyexporthttps_proxy=$proxyexportftp_proxy=$proxyexportno_proxy="localhost,127.0.0.1,::1"解除代理unsethttp_proxyunsethttps_proxyunsetftp_proxyunsetno_proxy ......
  • shell脚本-监控多台服务器磁盘利用率
    shell脚本-监控多台服务器磁盘利用率介绍第一步:实现免密登录服务器,为后续脚本免密登录做好准备。第二步:把要监控服务器的ip地址root用户端口port写入host.info文件中以便后续脚本从这个文件读取服务器信息。第三步:写shell脚本,先从host.info中拿到信息连接各个服务器,读取......
  • Linux 软链接删除
    创建软链接在Linux中,可以使用ln-s[源文件][软链接文件]的命令来创建软链接。首先,打开终端并进入目标路径,可以使用pwd命令查看当前路径。使用mkdir命令创建一个名为test的目录,并使用touch命令在该目录下创建两个测试文件,分别为test.txt和val.txt......