需要帮助从声音部门获取丢失的媒体列表并将其制作成复制命令



我目前在电影行业工作,我们经常收到声音部门丢失的媒体列表。我在 TextWrangler 中使用了一系列命令,以便将列表重新制作成可用的复制命令以自动化整个过程,但如果我可以用一个 grep 命令或其他方式完成这项工作,那就太神奇了。原谅我,因为我的编码技能可以谷歌搜索我需要的东西并测试东西,直到它们起作用。

以下是我们从声音部门获得的列表示例:

WA6016_03.A01.D114D54EF9A91.wav CX_Media_06:OMFI MediaFiles:zCassie:
FRK6030_04A01.D11A054F4C480.wav CX_Media_06:OMFI MediaFiles:zCassie:
FRK6029_03A01.D11A054F4C47D.wav CX_Media_06:OMFI MediaFiles:zCassie:
FRK6031_02A01.D11A054F4C481.wav CX_Media_06:OMFI MediaFiles:zCassie:
FRK6032_06A01.D11A054F4C486.wav CX_Media_06:OMFI MediaFiles:zCassie:
FRK6032_04A01.D11A054F4C485.wav CX_Media_06:OMFI MediaFiles:zCassie:
FRK6028_02A01.D11A054F4C47B.wav CX_Media_06:OMFI MediaFiles:zCassie:
FRK6027_03A01.D11A054F4C47A.wav CX_Media_06:OMFI MediaFiles:zCassie:
VI6006_01.A01.D114D54EF9A85.wav CX_Media_06:OMFI MediaFiles:zCassie:
R6v0307,Audio Mixdo54FC00E1.wav CX_Jeff_Render_01:OMFI MediaFiles:zJeff_AP:
Bass_Drop_A01.D10BF54E6B931.wav CX_Media_06:OMFI MediaFiles:zTommy_AP:
Bass_Drop_A02.D10BF54E6B931.wav CX_Media_06:OMFI MediaFiles:zTommy_AP:
R6v0225_BTA01.D118C54F38E42.wav CX_Media_06:OMFI MediaFiles:zCassie:
R6v0225_BTA02.D118C54F38E42.wav CX_Media_06:OMFI MediaFiles:zCassie:

这是我需要它的外观:

pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/WA6016_03.A01.D114D54EF9A91.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6030_04A01.D11A054F4C480.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6029_03A01.D11A054F4C47D.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6031_02A01.D11A054F4C481.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6032_06A01.D11A054F4C486.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6032_04A01.D11A054F4C485.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6028_02A01.D11A054F4C47B.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6027_03A01.D11A054F4C47A.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/VI6006_01.A01.D114D54EF9A85.wav' copied
pause
cp '/Volumes/CX_Jeff_Render_01/OMFI MediaFiles/zJeff_AP/R6v0307,Audio Mixdo54FC00E1.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zTommy_AP/Bass_Drop_A01.D10BF54E6B931.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zTommy_AP/Bass_Drop_A02.D10BF54E6B931.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/R6v0225_BTA01.D118C54F38E42.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/R6v0225_BTA02.D118C54F38E42.wav' copied
pause

这看起来可以做你想做的事。

awk -F: '{
    na=split($1, a, " ")
    printf "pausencp 47/Volumes/%s/%s/%s/%s", a[na], $2, $3, a[1]
    for (i=2; i<na; i++) {
        printf " %s", a[i]
    }
    printf "47 copiedn"
}' inputfile

-F :将字段分隔符设置为 :

na=split($1, a, " ")将第一个"字段"拆分为我们需要的空间分隔字段(并将字段计数保存在 na 中)。

几个printf将它们重新组合在一起。

这适用于文件名中的单个空格。但是,多个连续的空间是行不通的。

$ awk -F'[ :]' '{printf "pausenncp 47/Volumes/%s/%s %s/%s/%s47 copiednn", $2,$3,$4,$5,$1}' file
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/WA6016_03.A01.D114D54EF9A91.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6030_04A01.D11A054F4C480.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6029_03A01.D11A054F4C47D.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6031_02A01.D11A054F4C481.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6032_06A01.D11A054F4C486.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6032_04A01.D11A054F4C485.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6028_02A01.D11A054F4C47B.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/FRK6027_03A01.D11A054F4C47A.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/VI6006_01.A01.D114D54EF9A85.wav' copied
pause
cp '/Volumes/Mixdo54FC00E1.wav/CX_Jeff_Render_01 OMFI/MediaFiles/R6v0307,Audio' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zTommy_AP/Bass_Drop_A01.D10BF54E6B931.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zTommy_AP/Bass_Drop_A02.D10BF54E6B931.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/R6v0225_BTA01.D118C54F38E42.wav' copied
pause
cp '/Volumes/CX_Media_06/OMFI MediaFiles/zCassie/R6v0225_BTA02.D118C54F38E42.wav' copied

最新更新