Automator 构建复杂的文本批量替换自动化任务

舞姬之光

舞姬之光

2026-07-09

736人浏览

原创

automator可通过组合finder操作、shell脚本和applescript实现文件名与内容的批量替换:一、用“重命名finder项目”原生替换文件名;二、用sed或perl脚本替换文本内容并备份;三、借助awk、applescript或条件分支实现智能替换;四、通过移动文件、显示通知和记录日志完成闭环。

automator 构建复杂的文本批量替换自动化任务

Automator 本身不直接支持“正则替换”或跨文件内容的深度文本处理,但通过组合 Finder 操作、Shell 脚本和 AppleScript,完全可以构建稳定、可复用的复杂文本批量替换自动化任务——关键是把“文件名替换”和“文件内容替换”分开设计,并用合适的方式串联。

一、批量替换文件名中的指定文字

这是 Automator 原生支持最稳妥的部分,无需编码,适合修正拼写、统一前缀、清理冗余字符等场景:

  • 新建「快速操作」文档 → 设置“工作流接收当前”为「文件或文件夹」,位置选「访达」
  • 拖入「重命名 Finder 项目」动作
  • 选择「替换文本」:在“查找”栏填旧字符串(如 draft_),在“替换为”栏填新字符串(如 final_
  • 勾选「对所有项目应用此操作」,支持通配匹配(例如 *draft*.txt 可提前用「过滤 Finder 项目」限定范围)
  • 保存后,选中文件右键 → 「快速操作」→ 点击名称即可执行

二、批量替换文件内容(文本正文)

文件内部文字的替换必须借助 Shell 脚本,Automator 提供安全容器来调用它。推荐使用 sedperl,兼顾兼容性与功能:

Ardot
Ardot

腾讯设计推出的类似Figma的AI协同UI/UX 设计工具

下载
  • 新建「工作流程」或「应用程序」文档
  • 先拖入「获取指定的 Finder 项目」,用于手动选取目标文件(如 .txt、.md、.csv)
  • 再拖入「执行 Shell 脚本」动作,设置「传递输入」为「作为参数」
  • 脚本示例(安全替换,备份原文件):
    for f in "$@"; do
      if [[ -f "$f" && "$(file -b "$f")" == *"text"* ]]; then
        sed -i '.bak' 's/旧关键词/新关键词/g' "$f"
      fi
    done
  • 如需支持 Unicode 或复杂模式(如换行、括号),改用 perl:
    perl -i.bak -pe 's/【待替换】/【新内容】/g' "$@"

三、带条件判断的智能替换(例如只改某几行、含特定上下文才替换)

单纯全局替换容易误伤。加入逻辑判断能大幅提升可靠性:

  • 在 Shell 脚本中用 awk 定位行范围:
    awk '/^# Title:/ {gsub(/v1\.0/, "v2\.1")} 1' "$f" > tmp && mv tmp "$f"
  • 或结合 AppleScript 获取用户确认(适合敏感替换):
    拖入「运行 AppleScript」动作,脚本内弹出提示:
    display dialog "即将替换所有 'TODO' 为 'DONE',确定吗?" buttons {"取消","继续"} default button "继续"
  • 也可用「如果」动作配合变量:先用 Shell 提取文件是否含某关键词(echo $(grep -c "pattern" "$f")),再分支决定是否执行替换

四、替换后自动归档与通知

让整个流程闭环,减少人工干预:

  • 替换完成后,接「移动 Finder 项目」→ 目标设为 ~/Documents/已处理/,避免重复操作
  • 加「显示通知」动作:标题写“文本替换完成”,消息写“共处理 $(ls "$@ "| wc -l) 个文件”(需用 Shell 提前存变量)
  • 若需日志记录,可在 Shell 脚本末尾追加:
    echo "$(date): $(basename "$f") 已更新" >> ~/Desktop/replace_log.txt

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

macos 自动化

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

2025.12.13

301

14

Figma AI自动化智能数据填充与交互生成实战
Figma AI自动化智能数据填充与交互生成实战

告别机械重复,详细演示如何用 AI 填充业务真实数据,并自动为页面添加交互连线,将静态设计稿快速转变为动态原型。

2026.05.13

142

17

Qt Creator按钮响应设置方法
Qt Creator按钮响应设置方法

信号槽是 Qt 开发的核心机制。本专题整理 Qt Creator 中按钮点击、菜单触发、输入变化、窗口事件、自定义信号、自动连接槽函数和手动 connect 写法,帮助用户理解界面控件如何和 C++ 代码联动。

2026.08.05

0

10

Qt Creator新建项目使用教程
Qt Creator新建项目使用教程

本专题整理 Qt Creator 新建项目、打开已有工程、项目模板选择、目录结构、源文件管理、构建目录、运行配置和项目迁移方法,重点解决新手不知道选 qmake 还是 CMake、项目打不开、文件不参与编译等常见问题。

2026.08.05

0

10

maven常用插件使用大全
maven常用插件使用大全

PHP中文网精心整理Maven主流插件用法合集,涵盖编译、测试、打包等常用插件使用大全。从基础配置到进阶实战,详细解析各插件功能与适用场景,助你轻松掌握Maven自动化构建,解决Java项目开发痛点,是开发者必备的实用指南。

2026.08.05

0

31

PyCharm快速入门指南
PyCharm快速入门指南

本专题汇总了PyCharm快速入门的全套指南与教程,涵盖从官网下载安装、创建第一个Python项目、配置虚拟环境,到代码编辑、运行调试等基础操作,并整理了版本控制(Git)集成、常用高效快捷键及实用插件等进阶技巧,助你快速上手这款高效的Python IDE。

2026.08.05

2

17

PyCharm运行程序教程大全
PyCharm运行程序教程大全

本专题汇总了PyCharm运行程序的多种方式与详细操作步骤,涵盖通过主菜单Run、点击工具栏绿色三角图标、使用快捷键Shift+F10(或Ctrl+Shift+F10)等基本运行方法,以及配置运行/调试参数、设置PYTHONPATH环境变量、管理多脚本运行与交互式Python控制台调试等进阶技巧,助您全面掌握在PyCharm中高效运行与管理Python程序的方法。

2026.08.05

0

14

Maven零基础入门教程
Maven零基础入门教程

本合集由PHP中文网精心整理,提供Maven零基础入门到完整使用的保姆级教程。内容涵盖环境安装、核心配置、仓库管理及项目构建等核心知识点。通过详细步骤解析与代码示例,助你快速掌握Maven的依赖管理与自动化构建,轻松解决Java项目中的各种痛点,是新手入门与进阶的必备指南。

2026.08.05

2

18

Maven安装及配置教程
Maven安装及配置教程

本合集由PHP中文网精心整理,提供Maven安装配置与环境配置详情指南。内容涵盖Maven下载、解压安装、环境变量配置、阿里云镜像加速及本地仓库修改等全流程。教程通俗易懂,帮助开发者轻松解决依赖管理难题,快速掌握Maven核心构建技能,是Java开发者的必备实战指南。

2026.08.05

2

24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.4万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 131.8万人学习