gpt4 book ai didi

linux - 使用linux命令在文件中的两行之间查找字符串

转载 作者:太空宇宙 更新时间:2023-11-04 09:24:38 24 4
gpt4 key购买 nike

我有一个文件 file.txt,如下所示:

start cal
end cal
start eff
end eff
start cal
error
end cal
start dod
end dod

我想要得到的是最后一组“开始校准”和“结束校准”之间的线。我正在使用 tac 和 grep 来做这件事。但徒劳无功。有什么帮助吗?下面是我的代码:

tac file.txt | grep -m1 'start cal*end cal'

我做错了什么?对于上面的示例,我需要命令返回“错误”。

最佳答案

Grep 不是完成此任务的好工具。它进行基于行的匹配。可以考虑使用awk。

如果中间只有一行:

tac file|awk '/end cal/{p=1;next}/start cal/{exit}p'

如果可以是多行:

tac file|awk '/end cal/{p=1;next}/start cal/{exit}p'|tac

输出:

error

关于linux - 使用linux命令在文件中的两行之间查找字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37881115/

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