基本上我的文本文件是这样的。你知道吗
**A: lorem ipsum verade(unique)**
a: asd
b: asd
c: alsd
d: def
**B: korem ipsum vladmir(unique)**
c: fdh
e: asd
**C: lorum ipsum vladmir(unique)**
a: asd
b: asd
d: def
e: asd
正如我们在这里看到的,让我们说示例.txt有3个主条目(A、B、C)有多个数据。 我的问题是我能不能检查A的多个条件,例如,如果A:asd和d:def,我要A,B,C的所有条目。所以输出应该是A和C。 基本上,我想知道如何检查多行,同时保持跟踪行更早。 我希望我成功了明白,只是要记住这是一个巨大的文件,所以如果可能的话,需要避免多个循环。你知道吗
在AWK中:
如果要搜索的字符串分别分配给“v1”和“v2”
一个衬垫可以按下面的块扩展
简要说明
/\*\*.*\*\*/
:搜索主要条目s=substr($0,match($0,/\*\*.\:/)+2,1)
:将主条目的值赋给's'a[s]=a[s] $0
:分配属于每个主条目的记录match(a[i],v1)&&match(a[i],v2)
:检查“v1”和“v2”是否与每个主条目中的值匹配。你知道吗这可能适用于您(GNU-sed):
将多行集合存储在保留空间中。在开始一个新的收集之前,检查保留空间,如果它符合要求就打印出来。在文件末尾,最后检查一次保留空间。你知道吗
集合的开始由以
**
(或**
开头并带有一些前导空格)的行表示。为了打印集合,它必须包含字符串a: asd
和d: def
,否则它是一个错误的集合,最好忘记。所有其他行都可以附加到当前集合。你知道吗相关问题 更多 >
编程相关推荐