我有一个充满这样的行的文件:
04:50:03 [SomeText] 04:54:05
04:54:33 [Some other text] 04:54:56
04:56:43 [Another text] 04:57:09
...
我想删除两次之间的所有文本(仅保留一个分号),然后将所需结果输出到另一个如下所示的文件中:
04:50:03;04:54:05
04:54:33;04:54:56
04:56:43;04:57:09
...
这是我用来匹配日期的正则表达式模式:\d{2}:\d{2}:\d{2}
如何使用Powershell做到这一点?
答案 0 :(得分:5)
由于时间戳记位于每行的开头和结尾,因此请使用^
和$
锚定它们,然后将它们封装在捕获组中并删除其他所有内容:
(Get-Content file.txt) -replace '^(\d\d:\d\d:\d\d).*?(\d\d:\d\d:\d\d)$','$1;$2'