gpt4 book ai didi

bash - 追加到前一行以进行匹配

转载 作者:行者123 更新时间:2023-12-01 23:08:47 25 4
gpt4 key购买 nike

我可以用吗sedawk如果找到匹配项,则追加到前一行?

我有一个具有以下格式的文件:

          INT32
FSHL (const TP Buffer)
{
INT32
FSHL_lm (const TP Buffer)
{ WORD32 ugo = 0; ...

我想要做的是扫描独立的开括号 {并将其附加到前一个非空行。对于由同一行中的任何内容附加的开放大括号,不应发生匹配。

预期输出:
           INT32
FSHL (const TP Buffer){
INT32
FSHL_lm (const TP Buffer)
{ WORD32 ugo = 0; ...

感谢您的回复。

最佳答案

这可能对你有用(GNU sed):

sed '$!N;s/\n\s*{\s*$/{/;P;D' file

解释:
  • $!N除非最后一行将下一行附加到模式空间。
  • s/\n\s*{\s*$/{/用左花括号替换换行符后跟没有或任何数量的空格,然后是左花括号,后跟没有或任何数量的空格到字符串的末尾。
  • P打印到并包括第一个换行符。
  • D删除直到并包括第一个换行符(如果是这样,请不要开始新的循环)。
  • 关于bash - 追加到前一行以进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11609821/

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