首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要帮助从声音部门获取丢失的媒体列表,并将其转换为复制命令

需要帮助从声音部门获取丢失的媒体列表,并将其转换为复制命令
EN

Stack Overflow用户
提问于 2015-03-11 02:28:20
回答 2查看 8关注 0票数 0

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

这是我们从音响部门得到的一个列表的例子:

代码语言:javascript
运行
复制
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:

下面是我想要的样子:

代码语言:javascript
运行
复制
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
EN

回答 2

Stack Overflow用户

发布于 2015-03-11 02:41:59

这看起来就是你想要的。

代码语言:javascript
运行
复制
awk -F: '{
    na=split($1, a, " ")
    printf "pause\ncp \047/Volumes/%s/%s/%s/%s", a[na], $2, $3, a[1]
    for (i=2; i<na; i++) {
        printf " %s", a[i]
    }
    printf "\047 copied\n"
}' inputfile

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

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

几个printf就能把这一切重新组合在一起。

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

票数 0
EN

Stack Overflow用户

发布于 2015-03-11 03:50:04

代码语言:javascript
运行
复制
$ awk -F'[ :]' '{printf "pause\n\ncp \047/Volumes/%s/%s %s/%s/%s\047 copied\n\n", $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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28971404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档