繁体   English   中英

Perl从csv文件中删除以特定字符串开头的多行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM