Mac批量替换文件夹下所有文件内容

今天接了一个小需求,将文件夹下字段为% XXDM %替换成#{XXDM}

在苹果系统(macOS)下,可以使用命令行工具find结合sed来实现对A文件夹下所有文件内容的批量替换。具体操作步骤如下:

1、打开终端(Terminal)。

2、使用cd命令切换到A文件夹所在目录,例如:

复制代码
cd /path/to/A

3、执行以下命令来查找A文件夹及其子文件夹下的所有文件(假设需要处理的是文本文件,如.txt, .html, .md等),并将"% XXDM %"替换为"#{XXDM}"。这里以处理.txt文件为例,如果需要处理其他类型的文件,请相应地调整文件扩展名部分:

复制代码
find . -type f -name "*.txt" -exec sed -i '' 's/% XXDM %/#{XXDM}/g' {} +

说明

  • find . -type f -name "*.txt":这会查找当前目录(.表示当前目录)及其子目录下所有的.txt文件。
  • -exec:允许对查找到的每个文件执行后续的命令。
  • sed -i '' 's/% XXDM %/#{XXDM}/g' {} +:这是实际执行替换操作的部分。-i ''表示直接修改原文件(macOS下sed命令需要空字符串来表示就地编辑)。's/% XXDM %/#{XXDM}/g'是sed的替换命令,其中s表示替换,g表示全局替换,即在每一行中所有匹配到的地方都进行替换。
  • {}会被自动替换为find找到的每个文件名。
  • +是find命令的一个优化,它会尽量将多个文件名一起传递给-exec后面的命令,以减少命令的执行次数。

请确保在执行此类操作前备份您的数据,以防万一操作失误导致数据丢失。

相关推荐
Dachui_112236 分钟前
MacOS上如何运行内网穿透详细教程
macos
Bruce_Liuxiaowei3 小时前
使用Python脚本在Mac上彻底清除Chrome浏览历史:开发实战与隐私保护指南
chrome·python·macos
iFlyCai5 小时前
对Mac文字双击或三击鼠标左键没有任何反应
macos·计算机外设
請你喝杯Java19 小时前
Mac上Cursor无法安装插件解决方法
macos·cursor·vsode
网络之路Blog21 小时前
【实战中提升自己】内网安全部署之端口隔离与MAC地址认证
安全·macos·网络之路一天·华为华三数通基础·华为华三企业实战架构·华为中小型企业实战·华为华三计算机网络基础
心随_风动21 小时前
主流操作系统对比分析(macOS、Linux、Windows、Unix)
linux·windows·macos
lxw18449125141 天前
macOS 系统设置息屏情况下,PHP等后台脚本继续执行
macos
Brian_Lucky1 天前
在 macOS 上合并 IntelliJ IDEA 的项目窗口
java·macos·intellij-idea
未来之窗软件服务1 天前
声音分离人声和配乐-从头设计数字生命第5课, demucs——仙盟创梦IDE
ide·macos·xcode·仙盟创梦ide·数字生命
我该如何取个名字2 天前
Mac mini 安装mysql数据库以及出现的一些问题的解决方案
数据库·mysql·macos