You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac环境下递归批量替换文件中指定字符串的问题求助

批量替换文件内容问题解决

问题根源

你之前的命令没生效,核心原因是指定了只处理*.txt文件,但实际要修改的是Jenkinsfile和.jenkinsfile类型的文件,过滤条件不匹配,导致根本没找到目标文件,自然不会有任何修改。

正确执行命令

针对Linux(GNU sed)

如果只想处理Jenkins相关配置文件,用这个命令:

find . -type f \( -name "Jenkinsfile" -o -name "*.jenkinsfile" \) -exec sed -i 's/product-ui-test-creds.json/vaulted-product-ui-test-creds.json/g' {} +

要是需要处理当前目录及子目录下所有文本文件(不限后缀),可以用:

find . -type f -exec sed -i 's/product-ui-test-creds.json/vaulted-product-ui-test-creds.json/g' {} +

针对macOS(BSD sed)

macOS自带的sed需要在-i后加空字符串来指定无备份(如果需要备份文件,把空字符串换成备份后缀,比如-i .bak):

# 仅处理Jenkins相关文件
find . -type f \( -name "Jenkinsfile" -o -name "*.jenkinsfile" \) -exec sed -i '' 's/product-ui-test-creds.json/vaulted-product-ui-test-creds.json/g' {} +

处理所有文本文件:

find . -type f -exec sed -i '' 's/product-ui-test-creds.json/vaulted-product-ui-test-creds.json/g' {} +

验证替换效果

替换完成后,执行以下命令确认结果:

grep -r "vaulted-product-ui-test-creds.json" .

内容的提问来源于stack exchange,提问作者AhmFM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 14:46:21