今天接了一个小需求,将文件夹下字段为% 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后面的命令,以减少命令的执行次数。
请确保在执行此类操作前备份您的数据,以防万一操作失误导致数据丢失。