如何使用 sed 只删除三个空行?

2024-02-20

如何使用 sed 只删除三个空行?

例如:

我的文本.txt



line1

line2


line3



line4
  

使用 sed 我希望结果看起来像这样
我的文本.txt



line1

line2


line3
line4
  

我能够删除双空行



sed -i '/^$/{
N
/^\n$/D
}' MyText.txt
  

然而我的目标是删除三个空行并且仅删除三个空行。

任何帮助将非常感激。


很简单:

sed '1N;N;/^\n\n$/d;P;D'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 sed 只删除三个空行? 的相关文章

  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 大多数 Linux 系统头文件与 C++ 兼容吗?

    大多数 Linux 系统头文件 API C 兼容吗 今天我试图做这样的事情 include
  • 域套接字“sendto”遇到“errno 111,连接被拒绝”

    我正在使用域套接字从另一个进程获取值 就像 A 从 B 获取值一样 它可以运行几个月 但最近 A 向 B 发送消息时偶尔会失败 出现 errno 111 连接被拒绝 我检查了B域套接字绑定文件 它是存在的 我也在另一台机器上做了一些测试 效
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 如何在Linux内核源代码中打印IP地址或MAC地址

    我必须通过修改 Linux 内核源代码来稍微改变 TCP 拥塞控制算法 但为了检查结果是否正确 我需要记录 MAC 或 IP 地址信息 我使用 PRINTK 函数来打印内核消息 但我感觉很难打印出主机的MAC IP地址 printk pM
  • Linux 内核标识符中前导和尾随下划线的含义是什么?

    我不断遇到一些小约定 比如 KERNEL Are the 在这种情况下 是内核开发人员使用的命名约定 还是以这种方式命名宏的语法特定原因 整个代码中有很多这样的例子 例如 某些函数和变量以 甚至 这有什么具体原因吗 它似乎被广泛使用 我只需
  • CentOS:无法安装 Chromium 浏览器

    我正在尝试在 centOS 6 i 中安装 chromium 以 root 用户身份运行以下命令 cd etc yum repos d wget http repos fedorapeople org repos spot chromium
  • 安装J语言的JQt IDE,出现错误

    我一直按照这里的说明进行操作 http code jsoftware com wiki System Installation Linux http code jsoftware com wiki System Installation L
  • 使用 sh 运行 bash 脚本

    我有 bash 脚本 它需要 bash 另一个人尝试运行它 sh script name sh 它失败了 因为 sh 是他的发行版中 dash 的符号链接 ls la bin sh lrwxrwxrwx 1 root root 4 Aug
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp
  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • 查找哪些页面不再与写入时复制共享

    假设我在 Linux 中有一个进程 我从中fork 另一个相同的过程 后forking 因为原始进程将开始写入内存 Linux写时复制机制将为进程提供与分叉进程使用的不同的唯一物理内存页 在执行的某个时刻 我如何知道原始进程的哪些页面已被写
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 如何确保应用程序在 Linux 上持续运行

    我试图确保脚本在开发服务器上保持运行 它会整理统计数据并提供网络服务 因此它应该会持续存在 但一天中有几次 它会因未知原因而消失 当我们注意到时 我们只需再次启动它 但这很麻烦 并且某些用户没有权限 或专有技术 来启动它 作为一名程序员 我
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute

随机推荐

  • 配置为侦听端口 8080 的 Tomcat 连接器无法启动

    我刚刚下载了这个项目 https github com oktadeveloper okta spring boot 2 angular 5 example https github com oktadeveloper okta sprin
  • Google Apps 脚本 .gs 文件中的 Logger.log(...) 没有输出 - 出了什么问题?

    我有一堆服务器端代码 我使用 Logger log message 进行记录 但单个 gs 文件不会记录 即使有这样简单的声明 function uploadFiles form Logger log uploadFiles Hello 如
  • 在 html 中显示列表和子列表

    如何组织 html 代码 使用 ol li 等 来呈现此类列表 带有子列表 1 BLA BLA BLA 1 1 Bla bla bla 1 2 Bla bla bla 1 3 Bla bla bla lalal balalala lalal
  • CKEditor对话框选择框动态填充

    我在对话框中有两个选择框 我想知道是否可以根据第一个框的选择设置第二个选择框的内容 即 如果选择框 1 选择了 x 则选择框 2 的内容为 a b c 如果 select box1 选择了 y 则 select box2 内容为 d e f
  • Pandoc:转换为 HTML 时没有换行

    我正在从 Markdown 转换为 HTML 如下所示 pandoc columns 70 mathjax f markdown input pdc t html Ss gt out html 除了文本没有换行之外 一切正常 我尝试了不同的
  • Docker Hub 和 git 子模块

    我有一个使用 git 子模块的存储库 并且我在 Docker Hub 上配置了自动构建 在构建过程开始时 Docker Hub 似乎从默认分支 master 中提取存储库 更新子模块 然后签出到触发构建的特定分支 假设分支 feature
  • 如何在 R 中向数据集添加标题?

    我需要读取以下数据文件夹中的 wdbc data http archive ics uci edu ml machine learning databases breast cancer wisconsin http archive ics
  • Delphi XE2 / Indy TIdTCPServer /“连接由对等方重置”

    我在 Delphi XE2 中使用 Indy 使用 TIdTCPServer 发送 TCP 消息时遇到一个问题 举个例子 我有 2 台设备 我将与设备 1 进行通信 当我向设备 1 发送消息时 消息发送正常 但在不关闭程序的情况下 当我向设
  • SQlite:如何找到互斥对?

    这里有张桌子Likes有字段ID1 ID2其中包含互斥对 例如 1689 1709 and 1709 1689 我想找到他们 我尝试了串联 但没有成功 select L ID1 L ID2 from Likes L where L ID1
  • Windows 10 可以从应用商店下载 Windows 8.0 应用程序吗?

    我的 Windows 开发中心仪表板中有 Windows 8 0 软件包 我想知道 Windows 10 用户是否可以通过某种方式从 Windows 应用商店查看并下载我的应用程序 看来它不起作用 怎么做 我是否必须将我的项目 重新定位 到
  • UIWebView动态内容大小

    我环顾四周 没有看到任何快速相关的方法来做到这一点 我试图让我的 UIWebViews 高度是动态的 我有一个使用 loadHtmlString 函数加载数据的 UIWebView 问题是我从 sqlite 数据库加载数据 每次加载不同长度
  • JSF 2 复合:actionSource 在 ui 中公开命令按钮:repeat

    在我的复合组件中 我有一个 ui repeat 其中除其他静态内容外 还有一个命令按钮 如下所示
  • 全文搜索引擎比较——Lucene、Sphinx、Postgresql、MySQL? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在构建一个 Django 网站 并且正在寻找一个搜索引擎 几位候选人 Lucene Lucene
  • 如何删除 SQLite 中的所有空表?

    我想删除所有没有行的表 如何删除 SQLite 中的所有空表 EDIT我需要在手机上执行此操作 没有外壳 在 Windows Mobile 手机上 执行命令时 无论表中是否有数据 都可以删除表 不知道任何数据库以其他方式运行 所以这意味着
  • 如何修复 pip 安装错误:“环境错误:[Errno 42] 非法字节序列”?

    我正在尝试下载kivy模块使用pip 当我运行pip install command 我得到一个错误 Could not install packages due to an EnvironmentError Errno 42 Illega
  • 我获取的资源不在项目的构建路径上[重复]

    这个问题在这里已经有答案了 当我尝试 组织导入 或尝试访问任何类属性时 我得到了资源不在项目的构建路径上 我正在使用 ant 构建我的项目 我尝试在 javabuilpath gt 项目中配置我的构建路径 但它没有向我显示我的 src 文件
  • 如何跳转到 RichTextBox 中的特定行?

    我正在寻找如何跳转到特定行的示例代码RichTextBox in WPF 我不知道如何做到这一点 在 winForms 中它非常简单 因为我可以自由设置 SelectionStart 和 Selection Length 这与 WPF 中不
  • 当[:punct:]太多时[重复]

    这个问题在这里已经有答案了 我正在清理 R 中的文本字符串 我想删除所有标点符号except撇号和连字符 这意味着我无法使用 punct 字符类 除非有一种说法 punct but not lt gt 并且反引号必须出来 对于上述大多数情况
  • 在 Visual Studio 2010 C/C++ 中,“重新扫描解决方案”操作有何作用?

    我正在尝试编译第三方项目 但遇到一些链接问题 我在解决小问题时没有遇到太大麻烦 但我注意到它们是项目或解决方案的上下文菜单中的 重新扫描解决方案 选项 我点击了它 但它似乎没有做任何事情 它到底有什么作用 此命令更新项目浏览数据库中的过时文
  • 如何使用 sed 只删除三个空行?

    如何使用 sed 只删除三个空行 例如 我的文本 txt line1 line2 line3 line4 使用 sed 我希望结果看起来像这样 我的文本 txt line1 line2 line3 line4 我能够删除双空行 sed i