gpt4 book ai didi

linux - 从文件中过滤具有给定前缀的特定行

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:10:39 27 4
gpt4 key购买 nike

我需要获取整个文件中给定前缀的最后一行之前的行,我可以使用哪个命令(sed 或任何其他选项)来做到这一点?

例如:(前缀是每行的前两个数字:例如(16 316)(0 312)等)

文件.txt:

16 316 32

16 316 0

0 312 9997

0 312 0

0 312 21309

0 312 0

0 313 10108

0 313 0

0 313 32732

0 313 0

0 314 9277

0 314 0

0 314 19781

0 314 0

0 315 7

0 315 0

0 315 9380

0 315 0

0 315 30388

0 315 0

输出应该是:

16 316 32

0 312 21309

0 313 32732

0 314 19781

0 315 30388

谢谢

最佳答案

我假设这些空行实际上不在您的文件中。

tac file.txt | awk '$1 " " $2 != prefix {getline; print; prefix = $1 " " $2}' | tac
16 316 32
0 312 21309
0 313 32732
0 314 19781
0 315 30388

反转文件。当我看到一个新前缀时,打印下一行。然后反转输出。

关于linux - 从文件中过滤具有给定前缀的特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26743410/

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