找回密码
 register

QQ登录

只需一步,快速开始

搜索
查看: 15|回复: 0

[每天自学] 一键替换tlbb下的函数名

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:334
  • 打卡月天数:4
  • 打卡总奖励:332
  • 最近打卡:2025-11-08 08:31:58
Waylee 发表于 2025-11-6 01:28 | 显示全部楼层 |阅读模式 | Google Chrome | Windows 10

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×

先做预检、备份,再替换;都只处理 *.lua 文件并只替换精确的标识符 LuaFnSetCopySceneData_Param(不会把类似 XLuaFnSetCopySceneData_ParamY 的部分误替换)。

在服务器上运行就行


先 — 预览哪些文件会被替换

在做任何修改前先看看影响范围:

grep -RIn --include='*.lua' 'LuaFnSetCopySceneData_Param' /home/tlbb/Public/Data/Script

解释:列出包含目标标识符的文件和行号,确认无误后再执行替换。

如果文件很多,想只列文件名:

grep -RIl --include='*.lua' 'LuaFnSetCopySceneData_Param' /home/tlbb/Public/Data/Script

一行批量替换(Perl),并为每个文件生成 .bak 备份

在确认预览无误后运行(会在每个修改过的 .lua 文件旁生成同名的 .lua.bak 备份):

# 在一个可用的 shell 下运行
find /home/tlbb/Public/Data/Script -type f -name '*.lua' -print0 \
  | xargs -0 -n1 -P4 perl -0777 -i.bak -pe 's/\bLuaFnSetCopySceneData_Param\b/LuaFnXueWuTest/g'

说明:

  • find ... -print0 | xargs -0:安全处理空格/特殊字符文件名。
  • perl -0777 -i.bak -pe 's/\bOLD\b/NEW/g'-0777 使 perl 把文件当作整体读,\b 是单词边界,保证只替换完整标识符;-i.bak 会把原文件保存为 .bak
  • -P4xargs 并行 4 个进程,加速(可删掉 -P4 改为串行)。

回滚(恢复备份)(如果发现问题):

find /home/tlbb/Public/Data/Script -type f -name '*.lua.bak' -print0 \
  | while IFS= read -r -d '' bak; do
      orig="${bak%.bak}"
      mv -f "$bak" "$orig"
    done

检查某个文件替换差异(举例):

diff -u path/to/file.lua.bak path/to/file.lua | less

您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 ( 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 ) |网站地图|天天打卡

GMT+8, 2025-11-9 11:47 , Processed in 0.091995 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表