每当我看到" struct"时,我都需要添加文字。这里有部分匹配的定义。每个结构都可以有其他结构,我只需要添加' typedef'到外/主结构线。
struct struct-A {
...
struct struct-B;
};
到
typedef struct struct-A {
...
struct struct-B;
};
答案 0 :(得分:0)
您可以使用此sed
:
sed '/;[[:blank:]]*$/!s/^[[:blank:]]*struct/typedef &/' file
typedef struct struct-A {
...
struct struct-B;
};
此sed
命令检查行尾的;
是否存在,只有当它不存在时才会在typedef
关键字之前添加struct
。
答案 1 :(得分:0)
请查看下面的sed
-
sed '/;/! s/struct\ struct-/typedef\ struct\ struct-/g' file
typedef struct struct-A {
...
struct struct-B;
};
typedef struct struct-C {
...
struct struct-D;
};
如果struct
在行中找不到typedef struct
,则此sed会将;
替换为{{1}}。