gpt4 book ai didi

bash - 在两个分隔符之间提取多行数据

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

我有一个包含多行数据的日志文件。我需要提取分隔符之间的所有行并将其保存到输出文件

输入日志

Some data 
<delim_begin>ABC<delim_end>
some data
<delim_begin>DEF<delim_end>
some data

output.log 文件应该是这样的

ABC

DEF

我试过这段代码但是它不起作用,它打印了input.log的所有内容

sed 's/<delim_begin>\(.*\)<delim_end>/\1/g' input.log > output.log

最佳答案

使用 awk,您可以使用自定义字段分隔符来做到这一点:

awk -F '<(delim_begin|delim_end)>' 'NF>2{print $2}' file
ABC
DEF

使用 grep -P (PCRE):

grep -oP '(?<=<delim_begin>).*(?=<delim_end>)' file
ABC
DEF

关于bash - 在两个分隔符之间提取多行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35877776/

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