Я вывожу необработанные файлы EDL из Avid Media Composer, которые по сути являются просто текстом, который необходимо переформатировать в соответствующие столбцы, чтобы его было легко переварить для человека, получающего его. Из соображений безопасности на используемых нами компьютерах нет подключения к Интернету, поэтому я пытаюсь понять, как этого добиться без использования сторонних инструментов или веб-сайтов из сети.
Файл Raw .EDL при открытии в блокноте выглядит следующим образом:
В основном это просто сводка срезов, используемых на временной шкале, и соответствующие временные коды источника и места назначения. Приведенный выше пример очень мал по размеру, так как полный EDL может иметь до 1000 срезов (каждая пронумерованная строка является срезом).
Мне удалось отформатировать это вручную с использованием запятых. Я добился этого, добавив запятые и цитаты, чтобы это выглядело так:
Конечный результат при импорте в Excel такой:
Я также пытался исследовать идею использования Powershell, Get-Content
пытаясь разобрать нужные данные в определенные строки / столбцы, но я полный новичок в этой области, поэтому я не уверен, что я делаю:
$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 символа и т. Д., Чтобы придерживаться форматирования, которое я создал вручную для остальной части строки. Мне понадобится Powershell, чтобы прополоскать и повторить процесс через каждую строку в EDL и составить для меня CSV.
Мой вопрос: как мне получить этот файл EDL для вывода в CSV согласно ручному форматированию, которое я сделал? Я хотел бы сделать это возможным с помощью файла «перетаскивания» или подобного рабочего процесса. Записи, которые появляются в необработанном 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
Объяснение:
Замена:
Результат для данного примера:
источник
если ваш источник
ты можешь подать заявку
и имеют
mlr - это утилита с открытым исходным кодом, также для Windows, и вы можете запустить ее через приглашение. Последний win exe находится здесь (mlr.exe) https://github.com/johnkerl/miller/releases/tag/5.4.0
источник
--skip-comments-with "*"
, пропускает всю запись*FROM CLIP NAME: SFX CLIP 1
, это правильно? Таким образом, это пропускает само название клипаSFX CLIP 1
в результате?