Printing 过滤段落

Printing 过滤段落,printing,awk,gawk,Printing,Awk,Gawk,我有一个普通的txt文件,其中包含大约15-40行的段落,每个段落与上一个/下一个段落之间有3行空行,我想打印出所有包含字符串“sasi89”的段落 例如: PokerStars Hand #61919020230: Tournament #393199063, $0.10+$0.01 USD Hold'em No Limit - Level IV (50/100) - 2011/05/10 12:11:58 ET Table '393199063 1' 9-max Seat #9 is the

我有一个普通的txt文件,其中包含大约15-40行的段落,每个段落与上一个/下一个段落之间有3行空行,我想打印出所有包含字符串“sasi89”的段落

例如:

PokerStars Hand #61919020230: Tournament #393199063, $0.10+$0.01 USD Hold'em No Limit - Level IV (50/100) - 2011/05/10 12:11:58 ET
Table '393199063 1' 9-max Seat #9 is the button
Seat 1: bebe2829 (1529 in chips) 
Seat 3: zng 111 (4374 in chips) 
Seat 4: mal4o (11100 in chips) 
Seat 6: gysomi (6118 in chips) 
Seat 7: DEEAMAYA (2590 in chips) 
Seat 9: sasi89 (235 in chips) 
bebe2829: posts small blind 50
zng 111: posts big blind 100
*** HOLE CARDS ***
Dealt to sasi89 [Kc Th]
mal4o: folds 
gysomi: folds 
DEEAMAYA: folds 
sasi89: raises 135 to 235 and is all-in
bebe2829: folds 
zng 111: calls 135
*** FLOP *** [7h 9s Tc]
*** TURN *** [7h 9s Tc] [Qd]
*** RIVER *** [7h 9s Tc Qd] [9d]
*** SHOW DOWN ***
zng 111: shows [Jh Kh] (a straight, Nine to King)
sasi89: shows [Kc Th] (two pair, Tens and Nines)
zng 111 collected 520 from pot
sasi89 finished the tournament in 11th place
*** SUMMARY ***
Total pot 520 | Rake 0 
Board [7h 9s Tc Qd 9d]
Seat 1: bebe2829 (small blind) folded before Flop
Seat 3: zng 111 (big blind) showed [Jh Kh] and won (520) with a straight, Nine to King
Seat 4: mal4o folded before Flop (didn't bet)
Seat 6: gysomi folded before Flop (didn't bet)
Seat 7: DEEAMAYA folded before Flop (didn't bet)
Seat 9: sasi89 (button) showed [Kc Th] and lost with two pair, Tens and Nines



PokerStars Hand #61918994165: Tournament #393199063, $0.10+$0.01 USD Hold'em No Limit - Level IV (50/100) - 2011/05/10 12:11:19 ET
Table '393199063 1' 9-max Seat #7 is the button
Seat 1: bebe2829 (1079 in chips) 
Seat 3: zng 111 (4374 in chips) 
Seat 4: mal4o (11500 in chips) 
Seat 6: gysomi (6118 in chips) 
Seat 7: DEEAMAYA (2590 in chips) 
Seat 9: sasi89 (285 in chips) 
sasi89: posts small blind 50
bebe2829: posts big blind 100
*** HOLE CARDS ***
Dealt to sasi89 [2d 7h]
zng 111: folds 
mal4o: calls 100
gysomi: folds 
DEEAMAYA: folds 
sasi89: folds 
bebe2829: checks 
*** FLOP *** [8c Js 2h]
bebe2829: checks 
mal4o: checks 
*** TURN *** [8c Js 2h] [8h]
bebe2829: checks 
mal4o: checks 
*** RIVER *** [8c Js 2h 8h] [6h]
bebe2829: bets 300
mal4o: calls 300
*** SHOW DOWN ***
bebe2829: shows [Jc 3c] (two pair, Jacks and Eights)
mal4o: mucks hand 
bebe2829 collected 850 from pot
*** SUMMARY ***
Total pot 850 | Rake 0 
Board [8c Js 2h 8h 6h]
Seat 1: bebe2829 (big blind) showed [Jc 3c] and won (850) with two pair, Jacks and Eights
Seat 3: zng 111 folded before Flop (didn't bet)
Seat 4: mal4o mucked [6d Ac]
Seat 6: gysomi folded before Flop (didn't bet)
Seat 7: DEEAMAYA (button) folded before Flop (didn't bet)
Seat 9: sasi89 (small blind) folded before Flop
救命啊

awk 'BEGIN{ORS=RS="\n\n\n"} /sasi89/'    
这将在段落之间保留3个空行。如果您想规范化为单个空行,请删除
ORS=
或简单地

awk -v RS="\n\n\n" '/sasi89/'
救命啊

awk 'BEGIN{ORS=RS="\n\n\n"} /sasi89/'    
这将在段落之间保留3个空行。如果您想规范化为单个空行,请删除
ORS=
或简单地

awk -v RS="\n\n\n" '/sasi89/'
救命啊

awk 'BEGIN{ORS=RS="\n\n\n"} /sasi89/'    
这将在段落之间保留3个空行。如果您想规范化为单个空行,请删除
ORS=
或简单地

awk -v RS="\n\n\n" '/sasi89/'
救命啊

awk 'BEGIN{ORS=RS="\n\n\n"} /sasi89/'    
这将在段落之间保留3个空行。如果您想规范化为单个空行,请删除
ORS=
或简单地

awk -v RS="\n\n\n" '/sasi89/'
通过将
RS
设置为空字符串,可以在“段落模式”(请参阅)中使用awk:

awk -v RS= '/sasi89/' file
以上假设您的文件中没有其他空行,除了段落之间的空行。

您可以通过将
RS
设置为空字符串,在“段落模式”(请参阅)中使用awk:

awk -v RS= '/sasi89/' file
以上假设您的文件中没有其他空行,除了段落之间的空行。

您可以通过将
RS
设置为空字符串,在“段落模式”(请参阅)中使用awk:

awk -v RS= '/sasi89/' file
以上假设您的文件中没有其他空行,除了段落之间的空行。

您可以通过将
RS
设置为空字符串,在“段落模式”(请参阅)中使用awk:

awk -v RS= '/sasi89/' file


以上假设文件中除了段落之间的空行之外没有其他空行。

这是如何打印出来的?awk默认操作是
print
,相当于
print$0
。你试过了吗?它们是不能一起使用的替代品。只需使用
awk-vrs=“\n\n\n”'/sasi89/'inputfilename
好吧,一行程序不需要这样使用,但如果您坚持的话;将脚本主体复制到一个文件(不带awk和单引号),并以
awk-f script.awk inputfiles>outputfile
的形式运行。使用第一个选项,其中记录分隔符是在
BEGIN
块中定义的。您应该提到,多字符RS的使用是特定于gawk的,它没有被POSIX定义,因此其他AWK可以用它做任何事情,通常将其截断为第一个字符。这将如何打印任何内容?awk默认操作为
print
,相当于
print$0
。你试过了吗?它们是不能一起使用的替代品。只需使用
awk-vrs=“\n\n\n”'/sasi89/'inputfilename
好吧,一行程序不需要这样使用,但如果您坚持的话;将脚本主体复制到一个文件(不带awk和单引号),并以
awk-f script.awk inputfiles>outputfile
的形式运行。使用第一个选项,其中记录分隔符是在
BEGIN
块中定义的。您应该提到,多字符RS的使用是特定于gawk的,它没有被POSIX定义,因此其他AWK可以用它做任何事情,通常将其截断为第一个字符。这将如何打印任何内容?awk默认操作为
print
,相当于
print$0
。你试过了吗?它们是不能一起使用的替代品。只需使用
awk-vrs=“\n\n\n”'/sasi89/'inputfilename
好吧,一行程序不需要这样使用,但如果您坚持的话;将脚本主体复制到一个文件(不带awk和单引号),并以
awk-f script.awk inputfiles>outputfile
的形式运行。使用第一个选项,其中记录分隔符是在
BEGIN
块中定义的。您应该提到,多字符RS的使用是特定于gawk的,它没有被POSIX定义,因此其他AWK可以用它做任何事情,通常将其截断为第一个字符。这将如何打印任何内容?awk默认操作为
print
,相当于
print$0
。你试过了吗?它们是不能一起使用的替代品。只需使用
awk-vrs=“\n\n\n”'/sasi89/'inputfilename
好吧,一行程序不需要这样使用,但如果您坚持的话;将脚本主体复制到一个文件(不带awk和单引号),并以
awk-f script.awk inputfiles>outputfile
的形式运行。使用第一个选项,其中记录分隔符是在
BEGIN
块中定义的。您应该提到,多字符RS的使用是特定于gawk的,它没有被POSIX定义,因此其他AWK可以用它做任何事情,通常将其截短到第一个字符。除了您提到的三段分隔符之外,输入中是否还有其他空行?除了您提到的三段分隔符之外,输入中是否还有其他空行?除了您提到的三段分隔符之外,输入中是否还有其他空行?是否有除了您提到的3段分隔行之外,输入中还有其他空行吗?