我试图将发现的时间码从一种格式更改为另一种格式,基本上是为了消除文件末尾的毫秒数并对其进行更新。这是为了从转录时间码软件中删除额外的毫秒,并使其看起来非常适合客户端的文件。使用grep来调整时间码
输入如下:
00:50:34.00>INTERVIEWER
Why was it ............... script?
00:50:35.13>JOHN DOE
Because of the quality.
所以我想用grep匹配时间码,并得到了其与下面的表达式工作。
grep [0-9][0-9][:][0-9][0-9][:][0-9][0-9]\.[0-9][0-9] -P -o transcriptionFile.txt
输出看起来是这样的:
00:50:34.00
00:50:35.13
所以现在我试图把时间码,并与像更新的值更新文件:
00:50:34
00:50:35
我该怎么办呢?我是否应该使用管道将其推送到sed,以便可以更新文件中的值?
我也尝试过使用与下面的命令的sed:
sed 's/[0-9][0-9][:][0-9][0-9][:][0-9][0-9]\.[0-9][0-9]/[0-9][0-9][:][0-9][0-9][:][0-9][0-9]/g' transcriptionFile.txt > outtranscriptionFile.txt
我得到的输出,但放入我的正则表达式的地方,时间码应该是。有任何想法吗?另外如何在更新文件之前在时间码的最右侧修剪最后3位数字?
任何提示或建议将不胜感激。
感谢:-)
[编辑]你的问题包括给定输入的预期输出。我们无法通过阅读不符合要求的脚本来确定要执行的操作。 –
一如既往,很大程度上取决于文件中的其他内容。也许'sed's/\。[0-9] [0-9]> />/g''就足够了。 –