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

批量替换多XML文件特定字符串失败:sed+find命令报错求助

问题分析与解决

你的命令失效并报错,核心问题是find的-name参数用法错误:

  • -name仅用于匹配文件名,不能传入完整路径(比如/home/Desktop/Skins/*.xml),这会导致find找不到任何符合条件的文件。
  • 你混淆了find的起始目录参数和文件名匹配参数。

正确命令

针对指定目录查找处理

如果目标是处理/home/Desktop/Skins下所有.xml文件,直接把该目录作为find的起始路径:

find /home/Desktop/Skins -type f -name '*.xml' -exec sed -i -e 's|)/2|) // 2|g' {} \;

当前目录即为目标目录时简化命令

若你已经进入/home/Desktop/Skins目录,可使用相对路径:

find . -type f -name '*.xml' -exec sed -i -e 's|)/2|) // 2|g' {} \;

跨系统兼容提示

如果你用的是macOS等BSD系系统,sed的-i参数需要指定空后缀以避免生成备份文件,命令调整为:

find /home/Desktop/Skins -type f -name '*.xml' -exec sed -i '' -e 's|)/2|) // 2|g' {} \;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 23:40:33