使用awk打印部分文件

使用awk打印部分文件,awk,Awk,对于我想要打印的内容,我有几个条件(跳过我想打印的部分中包含的hello,从\k{f}打印到\l{k},从\word{g}打印到\word2{g},打印行开始\hello2,打印\b和\bf之间的部分-有一个问题:in\bf}是不应该打印的部分): 我想为\bf添加一个条件,即它应该在行中单独存在。请问怎么做 file.txt: text text \hello2 456 565 \word{g} s \hello \word2{g} \k{f} fdsfd fgs \l{f} text \b

对于我想要打印的内容,我有几个条件(跳过我想打印的部分中包含的hello,从\k{f}打印到\l{k},从\word{g}打印到\word2{g},打印行开始\hello2,打印\b和\bf之间的部分-有一个问题:in\bf}是不应该打印的部分):

我想为\bf添加一个条件,即它应该在行中单独存在。请问怎么做

file.txt:

text
text
\hello2
456
565
\word{g}
s
\hello
\word2{g}
\k{f}
fdsfd
fgs
\l{f}
text
\b
7
\hello
\bf}
text
现在输出:

\word{g}
s
\word2{g}
\k{f}
fdsfd
fgs
\l{f}
\b
7
\bf}
所需输出:

\word{g}
s
\word2{g}
\k{f}
fdsfd
fgs
\l{f}
\b
7
\bf

此问题与以下内容相关:

添加一个条件以将\bf}替换为\bf

    awk '
/\\hello/{
  next
}
/\\k\{f\}|\\word\{g\}|\\b/{
  found=1
}
# Fix BF lines
/\\bf}/ { $0 = "\\bf" }
# 

found;
/\\l\{f\}|\\word2\{g\}|\\bf/{
  found=""
}
/\\hello2/
' file.txt

请您在问题中更清楚地添加条件,例如-->
我想从\k{f}打印到
l{f}`等?由于目前还不清楚。我在问题中添加了它。请不要发布变色龙问题,请参阅。非常感谢,您能帮我在这个脚本中添加一个条件吗?我有行
text text\b text text 45\bf
text如何仅打印
\b text text 45\bf
有各种可能的输入,这可能会失败,例如,请参阅了解一些@阿尔奇-接受你得到的第一个答案就是假设这是你能得到的最好的答案,因为看到一个已经被接受的答案会使其他人不愿意发布替代方案。另外请注意
您能否再帮我一个条件
-请参阅我给您的关于上一个问题的建议:
    awk '
/\\hello/{
  next
}
/\\k\{f\}|\\word\{g\}|\\b/{
  found=1
}
# Fix BF lines
/\\bf}/ { $0 = "\\bf" }
# 

found;
/\\l\{f\}|\\word2\{g\}|\\bf/{
  found=""
}
/\\hello2/
' file.txt