我有包含如下多个功能的文件。
文件1.c:
static void function1()
{
code
}
...
static void functionX()
{
code
}
...
static void lastFunction()
{
code
}
文件2.c:
static void function1()
{
code
}
...
static void functionX()
{
code is different from file1.c
}
...
static void lastFunction()
{
code
}
在这种情况下,我想找到file1.c中的functionX()并将其替换为file2.c中的functionX(),其余函数保持原样。这些函数包含相同的名称(“functionX”),但其中的代码不同。是否有可以执行此操作的 shell 脚本命令?
这可能是您想要的,使用任何 awk:
上面只将
functionX()
from的定义存储file2.c
在内存中,其余输入一次处理一行,因此无论输入文件有多大它都能工作。和
perl
:添加
-i
编辑file1.c
i
n-place 的选项。