问题背景
有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系统下,那么你就可以使用vi
或vim
作为编辑器,很简单的就能实现这个功能:
步骤1:
使用vim打开文件:
vim 0000.txt
步骤2:
进行vim命令行模式:英文输入法状态下输入:
,然后输入
g/DontCare/d
然后按下回车键就实现这个功能了:
是不是很简单~
命令解释:
g/DontCare/d
中g
表示global
,意思是要进行全局查找,查找的内容是DontCare
,d
表示删除行。
方法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++一次删除带指定关键字的行
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/121203.html