输入文件(称为RESample.txt)包含
Rogue Exiles by name this session:
Rogue Exiles by name this session: OG VG
Rogue Exiles by name this session:
Rogue Exiles by name this session:
Rogue Exiles by name this session:
Rogue Exiles by name this session: MS
Rogue Exiles by name this session: AB TM
Rogue Exiles by name this session:
Rogue Exiles by name this session: AR UM
Rogue Exiles by name this session: MA
Rogue Exiles by name this session:
Rogue Exiles by name this session:
Rogue Exiles by name this session:
Rogue Exiles by name this session:
Rogue Exiles by name this session:
Rogue Exiles by name this session:
Rogue Exiles by name this session: UM UM EG TO AV OG
Rogue Exiles by name this session: AG AB OG
Rogue Exiles by name this session:
Rogue Exiles by name this session:
Rogue Exiles by name this session:
Rogue Exiles by name this session: TH TM
Rogue Exiles by name this session: JU OG
Rogue Exiles by name this session: OG
Rogue Exiles by name this session: TM
Rogue Exiles by name this session: OG TO
Rogue Exiles by name this session: TH AV VA
Rogue Exiles by name this session: TH UT KO VA
Rogue Exiles by name this session: TM UT
Rogue Exiles by name this session: MA TO
Rogue Exiles by name this session:
Rogue Exiles by name this session: OO
Rogue Exiles by name this session: DL TH
Rogue Exiles by name this session:
Rogue Exiles by name this session: TH TO ID AS XB AR
Rogue Exiles by name this session: KO
Rogue Exiles by name this session:
Rogue Exiles by name this session: OG AB ?
Rogue Exiles by name this session: VA AS
Rogue Exiles by name this session: EG
Rogue Exiles by name this session:
Rogue Exiles by name this session: ID AS
Rogue Exiles by name this session: ID AS TI
Rogue Exiles by name this session: VM AN
Rogue Exiles by name this session: AB AV
Rogue Exiles by name this session: ID
Rogue Exiles by name this session: TO TM AR AS
Rogue Exiles by name this session: XB
Rogue Exiles by name this session: OO
Rogue Exiles by name this session: TM
Rogue Exiles by name this session:
Rogue Exiles by name this session: ? MA
Rogue Exiles by name this session: TH UT
Rogue Exiles by name this session: ZD AB UM
Rogue Exiles by name this session: AN UM
Rogue Exiles by name this session: ST AR AV
Rogue Exiles by name this session: UM
Rogue Exiles by name this session: MS
Rogue Exiles by name this session: ST
Rogue Exiles by name this session: OG
Rogue Exiles by name this session: AB
Rogue Exiles by name this session: AN
Rogue Exiles by name this session: AN OO
Rogue Exiles by name this session: ID
Rogue Exiles by name this session: TO
Rogue Exiles by name this session: UM
Rogue Exiles by name this session: EG
Rogue Exiles by name this session: VA AR ? OG
Desired output is
AB (6)
AR (4)
MA (3)
OG (9)
? (3)
Blank (19)这个awk命令让我以某种方式获得所需的输出grep 'by name' RESample.txt|awk '{ORS=" "; for(i=7;i<=NF;i++) print $i}'|awk '{split ($0,POE); print POE[1]; print POE[2]; print POE[3]}',但我不知道如何完成该命令以获得整个数组以及每个值的计数。
我也尝试了这个命令grep 'by name' RESample.txt|awk '{ORS=" "; for(i=7;i<=NF;i++) print $i}'|awk '{POE[$0]++;} END { for (i in POE) print i, POE[i];}',但是它只打印了数组中最后一项的整行和计数,并且不计算空条目(UM?而不是期望的输出。
我需要使用awk正确处理输入字段并让它输出所需输出的命令是什么?
Update -此命令按字母顺序给出输出--针对我拥有的所有值运行(我可以不使用括号中的值)
grep 'by name' RESample.txt|awk '{POE[$7]++;} END { for (i in POE) print i, POE[i];}'|sort
19
? 1
AB 3
AG 1
AN 3
AR 1
DL 1
EG 2
ID 4
JU 1
KO 1
MA 2
MS 2
OG 5
OO 2
ST 2
TH 5
TM 3
TO 2
UM 3
VA 2
VM 1
XB 1
ZD 1但数不清了。那个?例如,应该是3,而不是1,但其他值应该是。
发布于 2020-09-11 18:54:04
请您试着用GNU awk中显示的示例进行以下、编写和测试。在链接https://ideone.com/gfilsQ#stdin中编写和测试
awk '
{
sub(/.*this session: +/,"")
if(!NF){ arr["UnKnown"]++ }
for(j=1;j<=NF;j++){
arr[$j]++
}
}
END{
for(k in arr){
print k,"("arr[k]")"
}
}' Input_filehttps://stackoverflow.com/questions/63852429
复制相似问题