替换文件中的单词

Replacing words inside file

本文关键字:单词 文件 替换      更新时间:2023-10-16

我有一个非常大的代码,我错误地使用了unsigned而不是uint64_t。由于这个错误,我的代码不适用于大于 4 字节的大值。现在我想纠正这个错误...但我不可能进入每个文件(有 540 个文件)并将unsigned替换为 uint64_t.是否有一些 linux 命令或一些自动化方法可以为我做到这一点。

我只想用uint64_t替换单词unsigned.我不希望像unsignedFunction这样的词被uint64_t取代。

编辑:当我将其替换为以下形式的函数时:

   static inline unsigned readUint32Aligned(const unsigned char* data) { return toHost(*reinterpret_cast<const unsigned*>(data)); }

转换后的函数是:

   static inline uint64_t readUint32Aligned(const uint64_t char* data) { return toHost(*reinterpret_cast<const uint32_t*>(data)); }

它给了我错误:

错误:"数据"未在此范围内声明

除了uint64_t之外,我还可以做其他事情来替换,这可能适用于上述形式的功能?

抱歉,可能不是错字。

使用 sed 和模式s/bunsignedb/uint64_t/g

b是有趣的一点。 在正则表达式中,它匹配单词边界。