あるフォーマットから見つかったタイムコードを別のフォーマットに変更しようとしていますが、基本的にはファイルの最後からミリ秒を削除して更新します。これは、転写タイムコードソフトウェアから余分なミリ秒を取り除き、クライアント用のファイルとしてはかなり見えるようにするためです。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 '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
私は出力を得ることなく、タイムコードをすることになっている場所で、私の正規表現になります:
は、私はまた、次のコマンドを使用してsedを使用しようとしました。何か案は?また、ファイルを更新する前に、タイムコードの右端から最後の3桁をトリミングする方法は?ご意見やご提案をいただければ幸いです。 GNUで
あなたの質問は、その入力が与えられたときに期待される出力を含めるようにしてください。あなたが望むことをしないスクリプトを読んで、あなたがしたいことを確実に伝えることはできません。 –
いつものように、ファイル内のその他のものには多くのものがあります。たぶん 'sed 's/\。[0-9] [0-9]> />/g''で十分でしょう。 –