Находите, перемещайте, заменяйте и анализируйте строки одновременно при создании файла списка воспроизведения XML. - PullRequest
0 голосов
/ 07 марта 2012

Я получаю много видео, и мне нужно скомпилировать функционирующие файлы .xml списка воспроизведения, где они все перечислены, включая снимки jpg.Видео и снимки изображений называются автоматически.Таким образом, я получаю множество файлов, подобных этому:

</p> <p>hxxp://site.com/video/_5712.480p.flv</p> <p>hxxp://site.com/video/_5712.480p.jpg</p> <p>hxxp://site.com/video/_5713.480p.flv</p> <p>hxxp://site.com/video/_5713.480p.jpg</p> <p>

Итак, с этими файлами мне нужно создать файл .xml, который выглядит примерно так:

....</p> <p></p> <pre><code> <track> <title>5712.480p</title> <creator>Whatever_5712.480p</creator> <info>hxxp://site.com/video/_5712.480p.jpg</info> <annotation>Playlist marked_480p</annotation> <location>hxxp://site.com/video/_5712.480p.flv</location> <image>hxxp://site.com/video/_5712.480p.jpg</image> </track> <track> <title>5713.480p</title> <creator>Whatever_5713.480p</creator> <info>hxxp://site.com/video/_5713.480p.jpg</info> <annotation>Playlist marked_480p</annotation> <location>hxxp://site.com/video/_5713.480p.flv</location> <image>hxxp://site.com/video/_5713.480p.jpg</image> </track>

Так что, я думаю, я мог бы рассмотреть какую-то продвинутую процедуру sed / awk для копирования, перемещения и размещения правильных строк в правильных скобках и для компиляции одного целогофайл?Я действительно ценю всю помощь, которую я могу получить в этом.Thx

1 Ответ

0 голосов
/ 07 марта 2012

С этим входом вы можете сделать что-то вроде:

awk 'NR%2==1 && /\.jpg$/ {JPGFILE=$0}
     NR%2==0 { print "whateverXMLtags" JPGFILE "whatanotherXMLtags" $0 "someotherXMLtags" }' INPUTFILELIST

Таким образом, предполагается, что jpg файлы находятся на нечетных строках, и на этом сохраняется имя, а на каждой четной строке выводится желаемый вывод. Обратите внимание , что SPACE между, например. JPGFILE и "whatanotherXMLtags" объединяют sring.

...