use*_*112 6 awk text-processing uniq gawk
我想从列表中计算无序对的数量。
换句话说,我有一个清单:
ab
ba
ac
bc
Run Code Online (Sandbox Code Playgroud)
我想显示:
2 ab
1 ac
1 bc
Run Code Online (Sandbox Code Playgroud)
对于以下人员来说,这听起来是一份不错的工作perl
:
perl -F -lane '$count{join "", sort @F}++;
END{print "$count{$_} $_" for sort keys %count}' < your-file
Run Code Online (Sandbox Code Playgroud)
与gawk
:
gawk -F '' '{ print ($1 > $2) ? $2$1 : $1$2 }' | sort | uniq -c
Run Code Online (Sandbox Code Playgroud)
每个字段匹配一个字符 ( -F ''
)。如果第一个大于第二个,我们只是根据当前的语言环境反转字符(这无关紧要)。然后我们对结果进行排序并使用 计算相同的连续行uniq -c
。
归档时间: |
|
查看次数: |
454 次 |
最近记录: |