gpt4 book ai didi

command-line - 如何在特定标记后搜索和替换空行?

转载 作者:行者123 更新时间:2023-12-04 05:05:14 24 4
gpt4 key购买 nike

我想在包含关键字的行后删除换行符,例如如修饰符private:public:protected:以满足我们的编码标准。我需要一个命令行工具(Linux),因此如果需要用户交互,请不要使用Notepad ++,Emacs,VS或Vim解决方案。所以换句话说,我想做一个:

sed -i 's/private:\s*\n\s*\n/private:\n/g'


我已经看到了这个 question,但是无法将其扩展到我的需要。

最佳答案

如果我理解正确,则要删除包含private:public:protected:的行之后的空行。

sed ':loop;/private:\|public:\|protected:/{n;/^$/d;Tloop}' inputfile


说明:


:loop创建标签
/private:\|public:\|protected:/将搜索包含模式的行。
n;/^$/d将加载下一行( n),检查是否为空行( /^$/),如果是,则删除该行( d)。
如果没有匹配项(行不为空),则 Tloop分支以标记 loop


我不是sed专家,可能会有更优雅的方法来做到这一点。在awk,perl,python中,也许还有更优雅的方法可以做到这一点。

关于command-line - 如何在特定标记后搜索和替换空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8476856/

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