sed - sed:删除匹配行和之后的所有内容
问题描述
我正在尝试使用 sed 使用 git 过滤器删除文件中第一个空行之后的所有行。
这似乎删除了空行之后的所有内容
sed -i '/^$/q' test.rpt
我如何还包括要删除的空白行本身?
解决方案
如果这是 GNU sed,只需使用Q
而不是q
.
sed -i '/^$/Q' test.rpt
对于 BSD sed,使用-n
switch 来抑制自动打印,并手动打印行。例如:
sed -n -i '/^$/q;p' test.rpt
PS:您可能希望将正则表达式更改为^[[:blank:]]*$
将所有空白字符的行也视为空白行。
推荐阅读
- javascript - 事件监听器后的 div 大小
- algorithm - 递归语句的运行时间
- r - 以闪亮的方式很好地安排情节子图
- python - 为什么我不能使用 requests 库访问网站,而我仍然可以从浏览器访问它?
- html - Jquery addClass不添加类
- jquery - 循环后显示引导模式
- python - 如何在 heroku 上设置 ~/.aws/credentials?
- xcode - 安装 CocoaPods 时出错 - macOS BigSur
- android - 如何在 Android TV 上读取旋转编码器输入?
- python - 用于在 Apache2 访问日志中匹配 GET 请求的正则表达式