爱意满满的作品展示区。
revolyw

做了个 Alfred Workflow:多行文本转成带引号的单行(方便拼 SQL IN)

  •  
  •   revolyw · 5 days ago · 626 views

    写 SQL 时经常要把一列值变成:

    'apple','banana','cherry'

    手改不仅容易漏,而且还很麻烦。我做了个 Alfred Workflow:从剪贴板读多行,用 m2s 调出,↑↓ 选包裹/分隔模式,回车复制结果。

    当前支持自定义包裹符+分隔符,并且预制了单引号/双引号+逗号(可带空格)、无包裹的逗号/分号拼接;会跳过空行并对引号做转义。

    下载: https://github.com/revolyw/alfred-multiline-to-single/releases/latest ( MIT ,源码同仓库)

    要求:macOS 、Alfred Powerpack 、系统 python3 。

    欢迎提建议~

    revolyw
        1
    revolyw  
    OP
       6h 6m ago
    不知道你有没有过这种瞬间——从表格或日志里复制出一长串 ID ,正准备写进 SQL 的 `IN (...)` 字句里,但是面对多行文本,既缺少单引号,还要删换行符,最后还得用逗号隔开。

    于是开始:加引号、加逗号、删换行符、再检查有没有漏,有没有空行,一通操作下来真正要做的事情却还没有推进。即便你精通列编辑或正则表达式批量替换,也免不了好几步操作,实在是麻烦!

    其实不止写 SQL 。只要「一列变一行」,下面这些场景都挺常见:

    ## 还能用在哪

    - **SQL**:多行主键 / 订单号 → `'id1','id2','id3'`,直接塞进 `IN (...)`
    - **类 JSON 字符串数组**:快速拼出 `"a","b","c"`,粘进配置或临时代码
    - **CSV / 表格单元格**:一列名字、手机号,转成逗号分隔,粘到表单或后台批量导入框
    - **配置与脚本**:多行路径、环境名,拼成 `a;b;c` 或 `a, b, c`,少开一次编辑器
    - **日志排查**:从日志里抠出一串 request id ,转成单行,丢进搜索框或工单备注
    - **临时名单**:群公告、邮件里的名单,快速变成引号字符串,给接口或测试用例用

    我自己受够了手改,就做了个很小的 Alfred Workflow ,专门干这件事:多行变单行,引号和分隔符可以选,也可以自己配。

    ## 怎么用

    1. 复制多行文本(也可以先选中文字,再用热键触发)
    2. 唤出 Alfred ,输入 `m2s`(关键词可改)
    3. 上下键选一种格式,回车——结果已经在剪贴板里,并会弹出系统通知

    比如输入:

    ```
    apple
    banana
    cherry
    ```

    可选几种常见模式:

    - `'apple','banana','cherry'`
    - `"apple","banana","cherry"`
    - `'apple', 'banana', 'cherry'`
    - `"apple", "banana", "cherry"`

    也可以不要引号,只要逗号、分号或冒号空格拼接。空白行会自动跳过;有包裹时,行内的引号和反斜杠会做转义,避免拼出来的结果很难用。

    ## 还能怎么配

    打开 Alfred → Workflows → **Multiline to Single** → `[x]`:

    - **Keyword**:触发关键词,默认 `m2s`
    - **Custom modes**:自定义包裹符 + 分隔符,一行一种;列表顺序就是结果列表顺序
    - **UI language**:界面标题可用 English / 中文

    热键可选:在 Workflow 里给 Hotkey 绑个快捷键,参数选「 Selection in macOS 」,选中文字就能直接转。

    ## 你需要

    - macOS
    - Alfred 4+,并启用 Powerpack
    - 系统自带的 `python3`
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5353 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 08:34 · PVG 16:34 · LAX 01:34 · JFK 04:34
    ♥ Do have faith in what you're doing.