# 如何利用Aflred插件提取选中文件的内容并做一些文字处理

* 抖音：<https://v.douyin.com/h61obFL/>
* B站：<https://www.bilibili.com/video/BV1e8411G7p4/>

> AppleScript代码片段：
>
> <https://gist.github.com/sunzsh/caf2197b484c6d69e6e4dc8ec99d53bd>
>
> Aflred插件：
>
> <https://github.com/sunzsh/favoritesWorkflow4Alfred/blob/main/srt.alfredworkflow>

今天啊做一个抛砖引玉

给大家分享一下

我是怎么用Alfred

来提取我的这些字幕的

首先啊新版的剪映

它在导出视频的同时

它都会导出一个srt文件

只是啊

这些srt文件里边会有这些时间

那我是怎么处理呢

我先给大家看下效果啊

首先呢先选中这个文件

然后呢我们打开gitbook

然后在这输入快捷键 （具体根据自己喜好在后面配置）

大家看这样就直接粘过来了

那其实实现这个插件呢也不复杂

大家看啊

这里边呢我用的就是这个快捷键

首先呢有一个很关键的代码

就是这个apple script这一段

我已经把它呀

放到我这个代码片段里了

就这一段它有什么用呢

它可以直接获取到

你系统当前选中的那个文件路径

拿到这个路径之后呢

我这再做一个过滤只要这个srt文件

再往后呢

这是一个变量声明

因为它每一步

这个query代表着上一步执行的结果

在下边这呢我可以把它声明成变量

然后上面呢我把它透传到下一步

那再下一步呢我就用bash

读取到文件里边的内容

拿到之后呢

再传给下一步

下一步呢用正则做了一些替换

再传给下一步

这一步呢就直接把它放到剪切板里了

然后注意这

把它勾上呢

就代表会把这个内容放到

最前面的应用里(替你输入了)

然后下边这个勾上就代表

这个内容不会被

存放到alfred的这个剪切版历史里

最后呢做一个通知

这块呢用到一个变量

引用var冒号这个是变量名就可以了

那整个这一个流程下来呢

大家就不难理解

为什么Alfred会把插件叫这个workflows

因为它就是一套流程

那第二个呢就是旧版的剪映

它不会导出这个srt文件 (所以，旧的项目是没有srt文件的）

那怎么办呢

我们先打开剪映

我们呀找到它这个工作目录

点全局配置这有一个草稿位置

我们打开这

然后随便在一个目录上右键

在访达中显示

这样话就找到这个草稿的目录了

比如说我们找到一个去年的

然后这里边有个draft\_info

这个文件里边其实是可以提取成

字幕的

大家看这里边其实有字幕信息的

那还是我选中这个文件

然后呢我用这个工作流

然后呢

在这用另一个快捷键

大家看这就上来了

其实跟刚才那个原理是一样的

只不过呢我们拿到文件内容之后

又用Javascript对它进行解析了

这段代码呢也是我在网上找的

然后呢解析完的结果再去放到剪辑板

放到当前应用上就可以了

最后再说一个呢就是这个路径问题

比如说啊

我复制出来的抖音的路径他是这样的

我其实呢是只想要中间这个路径

所以呢我在这又写了一个这个

这个的第一步呢

就是把剪切板的占位 放到这了

他会把这个剪切板作为

下一个节点的参数

所以下个节点再去做正则的替换

然后还是

我们放到剪辑板

并且粘贴到最前面的应用上

这样就可以了

那这个插件呢我也已经放

到github的这个库里了


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sunzsh.gitbook.io/xiaoshan.bug/ru-he-li-yong-aflred-cha-jian-ti-qu-xuan-zhong-wen-jian-de-nei-rong-bing-zuo-yi-xie-wen-zi-chu-li.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
