gpt4 book ai didi

bash - 使用 bash 提取文本文件中 2 个标记之间的行

转载 作者:行者123 更新时间:2023-11-29 08:44:48 25 4
gpt4 key购买 nike

我有一个如下所示的文本文件:

random useless text 
<!-- this is token 1 -->
para1
para2
para3
<!-- this is token 2 -->
random useless text again

我想提取标记之间的文本(当然不包括标记)。我尝试使用 ## 和 %% 来提取两者之间的数据,但它没有用。我认为它不适合处理如此大的文本文件。有什么建议我该怎么做?可能是 awk 还是 sed?

最佳答案

不需要headtailgrep或者多次读取文件:

sed -n '/<!-- this is token 1 -->/{:a;n;/<!-- this is token 2 -->/b;p;ba}' inputfile

解释:

  • -n - 不要做隐式打印
  • /<!-- this is token 1 -->/{ - 如果找到起始标记,则
    • :a - 标签“a”
      • n - 阅读下一行
      • /<!-- this is token 2 -->/q - 如果是结束标记,则退出
      • p - 否则,打印行
    • ba - 分支到标签“a”
  • }如果结束

关于bash - 使用 bash 提取文本文件中 2 个标记之间的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4857424/

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