2014-02-26 66 views
1

我想要一个能从.edl中提取特定文本的Applescipt的帮助。想要提取*FROM CLIP NAME: **SS0340_v102.MOV**之后出现的文本并将此文本列表复制到新的文本文档中在相同的位置并且与源文档命名相同。AppleScript - 从edl中提取特定文本

原始文件:

TITLE: MUP R1 EC V2.3 01-16 VFX 1-29 
FCM: NON-DROP FRAME 
000001 SS0340_V102.MOV     V  C  00:00:00:03 00:00:06:13 01:04:44:18 01:04:51:04 
*FROM CLIP NAME: SS0340_V102.MOV 
000002 US0020_V010.MOV     V  C  00:00:00:03 00:00:05:15 01:10:36:13 01:10:42:01 
*FROM CLIP NAME: US0020_V010.MOV 

新文件:

SS0340_V102.MOV, 
US0020_V010.MOV, 
+0

要覆盖源文件? – adayzdone

回答

1

尝试:

set inputFile to (choose file) as text 
set outputFile to (POSIX path of (inputFile & "::") & "output.txt") 
do shell script "grep -Eo '[^[:blank:]]*MOV' " & quoted form of (inputFile's POSIX path) & " | sort -u > " & quoted form of outputFile 
+0

解决。谢谢你adayzdone! – Mull

+0

adayzdone - 我有一个后续问题:你的脚本将文件中的所有.mov实例拉出来,所以我最终得到重复的文件名,因为有多个相同文件名的实例。你能添加一个命令来删除脚本末尾的重复文件名吗? – Mull

+0

尝试将管道结果排序-u – adayzdone