删除txt等文本文档中指定行方法

问题背景

有txt文件0000.txt,内容如下:

0 -1 DontCare -1 -1 -10.000000 219.310000 188.490000 245.500000 218.560000 -1000.000000 -1000.000000 -1000.000000 -10.000000 -1.000000 -1.000000 -1.000000
0 -1 DontCare -1 -1 -10.000000 47.560000 195.280000 115.480000 221.480000 -1000.000000 -1000.000000 -1000.000000 -10.000000 -1.000000 -1.000000 -1.000000
0 0 Van 0 0 -1.793451 296.744956 161.752147 455.226042 292.372804 2.000000 1.823255 4.433886 -4.552284 1.858523 13.410495 -2.115488
0 1 Cyclist 0 0 -1.936993 737.619499 161.531951 931.112229 374.000000 1.739063 0.824591 1.785241 1.640400 1.675660 5.776261 -1.675458
0 2 Pedestrian 0 0 -2.523309 1106.137292 166.576807 1204.470628 323.876144 1.714062 0.767881 0.972283 6.301919 1.652419 8.455685 -1.900245
1 -1 DontCare -1 -1 -10.000000 228.120000 183.030000 258.830000 217.340000 -1000.000000 -1000.000000 -1000.000000 -10.000000 -1.000000 -1.000000 -1.000000
1 -1 DontCare -1 -1 -10.000000 59.210000 191.300000 137.370000 227.430000 -1000.000000 -1000.000000 -1000.000000 -10.000000 -1.000000 -1.000000 -1.000000
1 0 Van 0 0 -1.796862 294.898777 156.024256 452.199718 284.621269 2.000000 1.823255 4.433886 -4.650955 1.766774 13.581085 -2.121565
1 1 Cyclist 0 0 -1.935205 745.017137 156.393157 938.839722 374.000000 1.739063 0.824591 1.785241 1.700640 1.640419 5.778596 -1.664456
1 2 Pedestrian 0 0 -2.530402 1138.342096 160.872449 1223.338201 324.146788 1.714062 0.767881 0.972283 6.352093 1.593046 8.156156 -1.886840

一共有是10行,其中有四行包含了DontCare

我现在想要把其中包含DontCare所在行删除,注意这不是简单的查找DontCare之后进行简单的替换,实现的效果应该是:

0 0 Van 0 0 -1.793451 296.744956 161.752147 455.226042 292.372804 2.000000 1.823255 4.433886 -4.552284 1.858523 13.410495 -2.115488
0 1 Cyclist 0 0 -1.936993 737.619499 161.531951 931.112229 374.000000 1.739063 0.824591 1.785241 1.640400 1.675660 5.776261 -1.675458
0 2 Pedestrian 0 0 -2.523309 1106.137292 166.576807 1204.470628 323.876144 1.714062 0.767881 0.972283 6.301919 1.652419 8.455685 -1.900245
2 0 Van 0 0 -1.796862 294.898777 156.024256 452.199718 284.621269 2.000000 1.823255 4.433886 -4.650955 1.766774 13.581085 -2.121565
1 1 Cyclist 0 0 -1.935205 745.017137 156.393157 938.839722 374.000000 1.739063 0.824591 1.785241 1.700640 1.640419 5.778596 -1.664456
1 2 Pedestrian 0 0 -2.530402 1138.342096 160.872449 1223.338201 324.146788 1.714062 0.767881 0.972283 6.352093 1.593046 8.156156 -1.886840

方法

方法1:使用Vim(推荐)

如果你是在Linux系统下,那么你就可以使用vivim作为编辑器,很简单的就能实现这个功能:
步骤1:
使用vim打开文件:

vim 0000.txt

步骤2:
进行vim命令行模式:英文输入法状态下输入:,然后输入

g/DontCare/d

在这里插入图片描述
然后按下回车键就实现这个功能了:
在这里插入图片描述
是不是很简单~

命令解释:
g/DontCare/dg表示global,意思是要进行全局查找,查找的内容是DontCared表示删除行。

方法2:使用Notepad++或Notepadqq

Notepad++是Windows下一个非常好用的编辑器,其Linux版本叫Notepadqq,使用该编辑器也可以非常方便的完成我们的目的。

步骤1:
使用Notepad++或Notepadqq打开文件;
步骤2:
按下Ctrl+F进入查找模式,点击替换,然后设置为如下选项,注意我箭头指的几个地方的内容,查找内容需要注意你是在Windows下还是在Linux下,Windows下填.*DontCare.*\r\n,Linux下填.*DontCare.*\n,下图展示的是Linux下Notepadqq的内容;

替换为保持为空白就行。
在这里插入图片描述
步骤3:
点击全部替换即可:
在这里插入图片描述
【参考】
1、vim删除包含特定字符串的行
2、Notepad++一次删除带指定关键字的行

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值