我需要删除:

guide_change_names \
  -design { lalala } \
  {
     }

从文本文件。
规则:
{}之间不应有任何单词
拉拉拉可以是任何单词。

之前的文字:
guide_change_names \
  -design { lalala } \
  {
        ha hah haha
     }
guide_change_names \
  -design { lalala } \
  {

     }
guide_change_names \
  -design { lalala } \
  {
            lal lal lal
     }
guide_change_names \
  -design { lalala } \
  {
     }

文字后:
  guide_change_names \
      -design { lalala } \
      {
            ha hah haha
         }

    guide_change_names \
      -design { lalala } \
      {
                lal lal lal
         }

最佳答案

尝试使用 GNU awk

awk 'BEGIN { RS="guide_change_names[^{]*{[^}]*}[^{]*{[ \n]*}[ \n]*" } 1' file

这里的想法是将“记录分隔符”(RS)设置为要删除的模式。

输出:
guide_change_names \
  -design { lalala } \
  {
        ha hah haha
     }

guide_change_names \
  -design { lalala } \
  {
            lal lal lal
     }

关于linux - 请帮助删除文本中的特定行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20099512/

10-10 13:16