Avid Media Composerから生のEDLファイルを出力しています。これは基本的に、適切な列に再フォーマットする必要があるテキストであるため、受信者が簡単に消化できます。セキュリティ上の理由から、マシン私たちはインターネットに接続していないので、サードパーティのツールやネットのWebサイトを使用せずにこれを実現する方法を理解しようとしています。
メモ帳で開いたときのRaw.EDLファイルは次のようになります。
これは基本的に、タイムラインで使用されるカットの要約と、関連するイン/アウトのソースおよび宛先のタイムコードです。上記の例は、完全なEDLが最大1000のカットを持つことができるため、サイズが非常に小さいです(各番号付きの線はカットです)。
カンマ区切り記号を使用して、これを手動でフォーマットすることができました。カンマと引用符を追加してこれを実現したので、次のようになります。
これをExcelにインポートしたときの最終結果は次のとおりです。
また、Get-Content
を使用してPowershellを使用して必要なデータを特定の行/列に解析するというアイデアを模索してきましたが、この分野の初心者なので、何がわからないのでしょうか。私がやっている:
$Content = Get-Content "C:\TEST EDIT DECISION LIST.EDL"
$Content | Foreach {
If ($_ -match '[0-9]{1,6}$')
そのため、Get-ContentにEDLファイルを読み取らせることができ、その中のテキストは正常に取得されます。次に、match
演算子を適用して、6桁の数値(000001
)を識別しようとしました。目標は、それを列1の行1に送信する方法を理解することです(ただし、実行したい)。次に、オペレーターに次のエントリ(GUIDE_VO
)を識別させる必要があります。これは、残りの部分で手動で作成したフォーマットに準拠するために、最大32文字の制限などで英数字記号になります。行の。 EDLのすべての行でこれをすすぎ、繰り返し処理し、CSVをコンパイルするには、Powershellが必要です。
私の質問は、 手動フォーマット のように、このEDLファイルをCSVに出力するにはどうすればよいですか? 「ドラッグアンドドロップ」のbatファイルまたは同様のワークフローでこれを可能にしたいと思います。 raw edl に表示されるエントリは常に特定の順序であり、クリップ名とソースファイルのみが内容が異なりますすべてのデータ全体。エントリ番号も、データの新しい行ごとに段階的に増加します。
これは、EDLファイル自体からの生のテキストです。
TITLE: Untitled Sequence.01
000001 GUIDE_VO A C 12:36:54:21 12:37:06:19 01:00:00:00 01:00:11:23
*FROM CLIP NAME: SFX CLIP 1
*SOURCE FILE: GUIDE VO
000002 HORROR.COPY.01.MP3 A C 01:00:00:00 01:00:22:10 01:00:11:23 01:00:34:08
*FROM CLIP NAME: SFX CLIP 2
*SOURCE FILE: HORROR.COPY.01.MP3
000003 93_HORROR_DRONE.MP3 A C 01:00:04:15 01:00:08:08 01:00:34:08 01:00:38:01
*FROM CLIP NAME: SFX CLIP 3
*SOURCE FILE: 93 HORROR DRONE.MP3
この素晴らしいコミュニティからの助けや提案を事前に感謝します!
^(\S+)\h+(\S+)\h+(\S+)\h+(\S+)\h+(\S+)\h+(\S+)\h+(\S+)\h+(\S+)\h+\R\*FROM CLIP NAME:\h*(.+?)\h*\R.+
$1,$2,$4,$3,$5,$6,$7,$8,"$9"
. matches newline
説明:
^ # beginning of line
(\S+)\h+ # group 1, 1 or more non spaces, then 1 or more horizontal spaces
(\S+)\h+ # group 2, idem
... # idem until
(\S+)\h+ # group 8
\R # any kind of linebreak
\* # asterisk
FROM CLIP NAME:\h* # literally FROM CLIP NAME: followed by 0 or more horizontal spaces
(.+?) # group 9, 1 or more any character but newline, not greeedy
\h* # 0 or more horizontal spaces
\R # any kind of linebreak
.+ # 1 or more any character but newline
交換:
$1, # content of group 1 plus a comma
$2, # content of group 2 plus a comma
$4,$3,$5,$6,$7,$8, # idem
"$9" # content of group 9 surounded by double quote
与えられた例の結果:
TITLE: Untitled Sequence.01
000001,GUIDE_VO,C,A,12:36:54:21,12:37:06:19,01:00:00:00,01:00:11:23,"SFX CLIP 1"
000002,HORROR.COPY.01.MP3,C,A,01:00:00:00,01:00:22:10,01:00:11:23,01:00:34:08,"SFX CLIP 2"
000003,93_HORROR_DRONE.MP3,C,A,01:00:04:15,01:00:08:08,01:00:34:08,01:00:38:01,"SFX CLIP 3"
ソースが
000001 GUIDE_VO A C 12:36:54:21 12:37:06:19 01:00:00:00 01:00:11:23
*FROM CLIP NAME: SFX CLIP 1
*SOURCE FILE: GUIDE VO
000002 HORROR.COPY.01.MP3 A C 01:00:00:00 01:00:22:10 01:00:11:23 01:00:34:08
*FROM CLIP NAME: SFX CLIP 2
*SOURCE FILE: HORROR.COPY.01.MP3
000003 93_HORROR_DRONE.MP3 A C 01:00:04:15 01:00:08:08 01:00:34:08 01:00:38:01
*FROM CLIP NAME: SFX CLIP 3
*SOURCE FILE: 93 HORROR DRONE.MP3
あなたは適用することができます
mlr --skip-comments-with "*" --inidx --ifs ' ' --ocsv --repifs cat inputFile.txt
と持っている
1,2,3,4,5,6,7,8
000001,GUIDE_VO,A,C,12:36:54:21,12:37:06:19,01:00:00:00,01:00:11:23
000002,HORROR.COPY.01.MP3,A,C,01:00:00:00,01:00:22:10,01:00:11:23,01:00:34:08
000003,93_HORROR_DRONE.MP3,A,C,01:00:04:15,01:00:08:08,01:00:34:08,01:00:38:01
mlrはオープンソースユーティリティであり、Windowsにも対応しており、Promptを介して実行できます。最後の勝利exeはここにあります(mlr.exe) https://github.com/johnkerl/miller/releases/tag/5.4.