gpt4 book ai didi

linux - 使用 sed 将附加字符添加到文件中的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 05:59:29 26 4
gpt4 key购买 nike

我有 .h 文件如下

//Structure
typedef struct VIN_oFDCAN8_8d836e25_In
{
vbittype unused31 : 8;
vbittype unused30 : 8;
vbittype unused29 : 8;
vbittype unused28 : 8;
vbittype unused27 : 8;
vbittype unused26 : 8;
vbittype unused25 : 8;
vbittype unused24 : 8;
vbittype unused23 : 8;
vbittype unused22 : 8;
vbittype unused21 : 8;
vbittype unused20 : 8;
vbittype unused19 : 8;
vbittype unused18 : 8;
vbittype unused17 : 8;
vbittype VIN_DATA_AH_C : 56;
vbittype unused9_0 : 2;
vbittype VIN_MSG_AH_C : 2;
vbittype unused9_1 : 4;
vbittype unused8 : 8;
vbittype unused7 : 8;
vbittype unused6 : 8;
vbittype unused5 : 8;
vbittype unused4 : 8;
vbittype unused3 : 8;
vbittype unused2 : 8;
vbittype unused1 : 8;
vbittype unused0 : 8;
}__attribute__((packed))_c_VIN_oFDCAN8_8d836e25_In_msgType;


//union
typedef union _c_VIN_oFDCAN8_8d836e25_In_bufTag
{
vuint8 _c[32];
_c_VIN_oFDCAN8_8d836e25_In_msgType VIN_oFDCAN8_8d836e25_In;
} _c_VIN_oFDCAN8_8d836e25_In_buf;


//Declaration
_c_VIN_oFDCAN8_8d836e25_In_buf VIN_oFDCAN8_8d836e25_In_data;

如您所见,所有类型名称均以 _c_ 开头。

_c_VIN_oFDCAN8_8d836e25_In_msgType
_c_VIN_oFDCAN8_8d836e25_In_bufTag
_c_VIN_oFDCAN8_8d836e25_In_buf

我想向它们添加 _Moto_ 标签,如下所示。

_c_VIN_oFDCAN8_8d836e25_In_Moto_msgType
_c_VIN_oFDCAN8_8d836e25_In_Moto_bufTag
_c_VIN_oFDCAN8_8d836e25_In_Moto_buf

我有很多这样的定义,在这样的定义中我可以找到的常见标签是_c_

你能帮我用 sed 命令一次性替换所有这些吗?

最佳答案

假设_c_之间总是有一些字符串和_In_ ,以及 _In_ 之后:

sed 's/_c_[[:alnum:]_]*_In_/&Moto_/g' file.h

应该可以工作。它匹配 _c_<zero or more alphanumeric chars and underscores>_In_并添加Moto_之后。

关于linux - 使用 sed 将附加字符添加到文件中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55947973/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com