我試圖將發現的時間碼從一種格式更改爲另一種格式,基本上是爲了消除文件末尾的毫秒數並對其進行更新。這是爲了從轉錄時間碼軟件中刪除額外的毫秒,並使其看起來非常適合客戶端的文件。使用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''就足夠了。 –