我正在做一个项目,由于一个简单但非常不幸的错误,需要在文件中重写一堆时间戳;具体来说,我需要将每个时间戳的最后一部分除以 30。例如,如果文件包含:
"blahblahblah[00:05:25]randomblah[01:22:13]"
那我需要它说
"bahblahblah[00:05:833]randomblah[01:22:433]"
在意识到纯正则表达式无法处理问题后,因为它只处理字符而不是数字,一点点谷歌搜索将我指向 Perl 单行,我正在尝试对其进行修改以适应我的目的。这是我到目前为止所拥有的:
perl -pi.bak -e 's/\d\d:\d\d:($1/30)!/e
但是,我有一个语法错误"around /30"
。任何人都可以帮助解决这个问题,并阐明它是如何工作的吗?我得到了逐行的东西,但不是表达部分。谢谢!