我们如何使用sed或awk实现这一目标?
我现在已将文字包含在代码块中以明确。
应打印代码块部分 - 是要求。
逻辑1:
文本'abc'将是我们的关键字,它将是唯一的,并且只会出现在代码块部分中
所以我们必须搜索'abc'并从该行开始直到最后一次'abc'出现所有行都应该打印
逻辑2:
根据页码,即再次在第1页和第n页之间选择文字 注意:'Page 1'和'Page 1 - Page n'可以多次出现。
整个文本是4GB文件的一部分,需要针对类似事件进行解析。
道歉,不清楚。
Xyz Page:1
一
B'/ P>
C
d
ë
QWE页面:1
ë
[R
吨
ý
asdabc Page: 1
t
y
u
I
o
ghjabc Page: 2
e
d
c
b
bnmabc Page: 3
uia
asd
ads
thm Page:1
作为
DAS
哒
答案 0 :(得分:0)
我真的不知道你想要打印什么,但你应该可以使用sed
:
sed -n '/start pattern/,/end pattern/p' <file>
答案 1 :(得分:0)
您可以使用awk
,
awk 'BEGIN{a=0} /.*Page/{if(index($0,"abc")!=0){a=1} else{a=0}} a==1{print}' <Your_File>
输出:
asdabc Page: 1
t
y
u
I
o
ghjabc Page: 2
e
d
c
b
bnmabc Page: 3
uia
asd
ads
这是我在这里做的事,