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后面的命令,以减少命令的执行次数。

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

相关推荐
king13598745503 小时前
LFM2.5-24B-A2B Mac 本地部署:内存估算、GGUF/MLX 与 Python 预检脚本
人工智能·macos
骑着蜗牛撵大象3273 小时前
链路层不只是 MAC:以太网帧、ARP 与 802.1Q VLAN 的逐跳拆解
计算机网络·macos·ar·vlan·mac地址·链路层
一条泥憨鱼5 小时前
【计算机网络】| 从 MAC 到 NAT 的跨网段通信全链路
服务器·网络·学习·计算机网络·macos
老牛日常随笔1 天前
Meta 开源 8160 亿参数模型,官方给的方案是两台 Mac Studio
macos·开源
桌管小李2 天前
内网终端安全再升级|迪康端点安全 2609 版本四大新功能解读
大数据·windows·安全·macos·网络安全
情 九2 天前
Dify 本地环境搭建教程:macOS / Windows
windows·macos
2501_915918413 天前
在 Xcode 中运行和调试单元测试的完整指南
ide·vscode·macos·ios·单元测试·个人开发·xcode
Lalolander3 天前
灵基Lingee怎么下载安装?Mac 与 Win 详细指南
大数据·人工智能·科技·macos·金蝶灵基
老李IT笔记3 天前
远程取设备日志:iOS、tvOS 和 macOS 三端的同意方式不一样
macos·ios
JasonSJX3 天前
DRM-X 5.0 PDF 保护更新:Windows 与 Mac 打印保留用户水印,ZJGet iOS 版支持 PDF 阅读
macos·pdf