頻度の数には2つの辞書があり、Join / sort cmdを使用してそれらをマージしようとしますが、常に間違った出力または他の頻度の数を取得します。私はそれらを一緒にリンクし、単語が存在し、新しい単語の数が1の場合は+1を追加したいと思います。
7 umslipped
1 umslippersmouthwashand
3 umslobagas
35 umslopogaas
5 (umslopogaas
15 (umslopogaas)
1 umslower
6 umsmall
2 umsnag
2 um[snaps
13 umsnootchie
2 umsnow
84 umso
14 um-so ##
2番目の辞書
1 palpating
1 palpated
1 palpate
1 palpably
1 palpable
1 palominos
1 palomino
1 palomar
1 palmyra
1 palmy
1 palmtops
1 palmtop
1 palms
1 palmolive
1 palmists
1 palmistry
1 palmist
答え1
awk
を使用してすべてを追加できます。
awk '{ arr[$2] += $1} END {for (key in arr) {printf "%4s %s\n", arr[key], key}}' file1 file2
説明する
{ arr[$2] += $1}
文字列の配列インデックスを数値$2
に設定+=
$1
END
私たちが終わったら{for (key in arr) {printf "%4s %s\n", arr[key], key}}
すべてを繰り返して印刷します。
私がそれをテストするために何をしたのか
ファイル1
7 umslipped
1 umslippersmouthwashand
3 umslobagas
35 umslopogaas
5 (umslopogaas
15 (umslopogaas)
1 umslower
6 umsmall
2 umsnag
2 um[snaps
13 umsnootchie
2 umsnow
84 umso
14 um-so ##
ファイル2
14 um-so ##
84 umso
2 umsnow
13 umsnootchie
2 um[snaps
2 umsnag
6 umsmall
1 umslower
15 (umslopogaas)
5 (umslopogaas
35 umslopogaas
3 umslobagas
1 umslippersmouthwashand
7 umslipped
出力
10 (umslopogaas
12 umsmall
6 umslobagas
28 um-so
2 umslippersmouthwashand
30 (umslopogaas)
70 umslopogaas
26 umsnootchie
4 umsnag
168 umso
4 um[snaps
14 umslipped
4 umsnow
2 umslower