gpt4 book ai didi

shell - 使用 sed 或 awk 如何删除特定行周围的模式

转载 作者:行者123 更新时间:2023-12-01 07:42:44 26 4
gpt4 key购买 nike

我需要删除特定行周围的模式:

#undef LZZ_INLINE
#ifdef LZZ_ENABLE_INLINE
#include "somename.inl"
#endif

应该变成:

#include "somename.inl"

我事先不知道somename。如何使用例如以通用方式使用 sed 或 awk?

最佳答案

如果文件大小允许读取一次加载到内存中,你可以这样做

sed -i.bk ':a;$!{N;ba}; s/#undef LZZ_INLINE\n#ifdef LZZ_ENABLE_INLINE\n\(#include [^\n]*\)\n#endif/\1/g' input.file

如果一切顺利,请删除 .bk 文件 :)

关于shell - 使用 sed 或 awk 如何删除特定行周围的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13914316/

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