我有一个txt
文件,如:
Large 0
Large 0
Large 1
Large 2
Medium 0
Medium 1
Medium 1
small 1
small 3
Run Code Online (Sandbox Code Playgroud)
我想组合所有不同的大、中和小行,以便输出如下内容:
Large 3
Medium 2
Small 4
Run Code Online (Sandbox Code Playgroud)
我有另一个类似的问题,但另一个文件只是单词,例如:
MVCC Cybersecurity
MVCC Cybersecurity
MVCC Cybersecurity
Run Code Online (Sandbox Code Playgroud)
我希望它输出度数的总和,所以它表示网络安全的总次数。
MVCC 3
Run Code Online (Sandbox Code Playgroud)
小智 5
perl -lane '@F == 2 and $h{$F[0]}+=$F[1]}{print "$_ $h{$_}" for keys %h' yourfile
Run Code Online (Sandbox Code Playgroud)
读取是:当您的行恰好有 2 个字段时,然后使用第一个键的键的第二个字段更新哈希值。最后,只需打印键和相应的值。
散列 %h 的数据结构是:
%h = ( ... LARGE => running_sum, ... );
awk '
NF == 2 { seen[$1] += $2 }
END{
for(i in seen)
print i, seen[i]
}
' yourfile
Run Code Online (Sandbox Code Playgroud)