[英]Perl Delete multiple lines from csv file beginning with specific string
我有一个csv文件,其数据格式如下。
09:20:02.063,110.600,110.300,110.600
09:20:08.425,111.600,110.300,110.600
09:21:02.684,111.600,110.300,110.600
09:21:03.188,110.600,110.300,110.600
09:22:05.552,110.600,110.300,110.600
09:22:03.914,113.600,110.300,110.600
09:23:04.282,112.600,110.300,110.600
09:23:05.643,111.600,110.300,110.600
09:24:01.004,111.600,110.300,110.600
09:24:05.369,110.600,110.300,110.600
我想做的是删除以“ 09:23”开头的整个行,但是数据格式由Hour:Minute:Second.Millisecond组成。 对于我来说,很难仅使用Perl来指定“ Hour:Minute”来删除行。 任何建议,谢谢
预期结果
09:20:02.063,110.600,110.300,110.600
09:20:08.425,111.600,110.300,110.600
09:21:02.684,111.600,110.300,110.600
09:21:03.188,110.600,110.300,110.600
09:22:05.552,110.600,110.300,110.600
09:22:03.914,113.600,110.300,110.600
09:24:01.004,111.600,110.300,110.600
09:24:05.369,110.600,110.300,110.600
你可以试试看
$ perl -lne 'print if !/^09:23\b/' file
09:20:02.063,110.600,110.300,110.600
09:20:08.425,111.600,110.300,110.600
09:21:02.684,111.600,110.300,110.600
09:21:03.188,110.600,110.300,110.600
09:22:05.552,110.600,110.300,110.600
09:22:03.914,113.600,110.300,110.600
09:24:01.004,111.600,110.300,110.600
09:24:05.369,110.600,110.300,110.600
要么
使用grep,
grep -v '^09:23\b' file
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.