如何基于行模式替换文本文件中MAX_NUM_JSON_SCHEMAS行的数值263?
How to Replace the Numeric Value in
#define MAX_NUM_JSON_SCHEMAS Line 首先先看一下你的原始代码片段:
#define PUBLICATION_URI_VALUE_DELL "http://downloads.dell.com/redfish/bmc/schemas" #define MAX_NUM_JSON_SCHEMAS 263 #define MAX_JSONFILE_LENGTH 64 #define ODATA_CONTEXT_VALUE_JSONSCHEMA_FILE_COLLECTION METADATA_URI "#" JSONSCHEMA_URISEGMENT #define ODATA_TYPE_VALUE_JSONSCHEMA_FILE_COLLECTION "#JsonSchemaFileCollection.JsonSchemaFileCollection" #define NAME_VALUE_JSONSCHEMA_FILE_COLLECTION "Schema Repository"
下面给你几种不同场景下的替换方法,都是开发中常用的操作:
1. 用sed命令行工具(Linux/Unix/macOS)
如果你需要批量处理或者在脚本里自动替换,sed是个高效的选择。假设你想把263改成目标数值(比如300),直接运行对应命令就行:
# Linux/Unix版本 sed -i 's/#define MAX_NUM_JSON_SCHEMAS [0-9]\+/#define MAX_NUM_JSON_SCHEMAS 300/' your_header_file.h # macOS版本(注意sed参数差异) sed -i '' 's/#define MAX_NUM_JSON_SCHEMAS [0-9]\+/#define MAX_NUM_JSON_SCHEMAS 300/' your_header_file.h
这里的[0-9]\+是正则表达式,用来匹配任意长度的数字,不管原来的数值是多少,都能精准替换成你想要的新数值,不会误改其他行。
2. 在Vim编辑器里替换
如果你习惯用Vim写代码,打开文件后直接执行这条命令:
:%s/#define MAX_NUM_JSON_SCHEMAS \d\+/#define MAX_NUM_JSON_SCHEMAS 300/g
按回车就完成替换,之后输入:w保存文件就搞定了。
3. 用Visual Studio Code(GUI方式)
如果更习惯图形界面操作:
- 打开你的头文件,按下
Ctrl+F(Windows/Linux)或Cmd+F(macOS)打开搜索框 - 点击搜索框右侧的
.*图标,开启正则表达式模式 - 搜索内容填:
#define MAX_NUM_JSON_SCHEMAS \d+ - 切换到替换标签,输入替换内容:
#define MAX_NUM_JSON_SCHEMAS 300 - 点击「Replace All」按钮,一键完成替换
这些方法都能精准定位到MAX_NUM_JSON_SCHEMAS这一行,只替换它的数值部分,不会影响其他宏定义。
内容的提问来源于stack exchange,提问作者gvs
相关产品推荐
相关产品推荐

