gpt4 book ai didi

linux - 如何获取不包含某些模式的行

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

我有一个包含很多行的文件:

ABRD0455252003666
JLKS8568875002886
KLJD2557852003625
.
.
.
AION9656532007525
BJRE8242248007866

我想提取以(ABRD 或 AION)开头的行以及第 12 至 14 列中的数字(003 或 007)。

输出应该是

KLJD2557852003625
BJRE8242248007866

我已经试过了,它可以工作,但是它的命令太长了,我想针对性能问题对其进行优化:

 egrep  -a --text '^.{12}(?:003|007)' file.txt > result.txt |touch results.txt && chmod 777 results.txt |egrep -v -a --text  "ABRD|AION" result.txt > result2.text

最佳答案

-a 选项是处理二进制文件的非标准扩展,文本文件不需要它。

 grep -E '^.{11}(003|007)' file.txt | grep -Ev '^(ABRD|AION)'

第一阶段匹配第十二到第十四列中带有 003007 的任何行。

第二阶段过滤掉任何以 ABRDAION 开头的行。

关于linux - 如何获取不包含某些模式的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37534131/

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