ファイル内の数値の合計反復回数を見つける

ファイル内の数値の合計反復回数を見つける

Global=x 文字列を含むファイルがあります。ここで、x はテキスト行間の数字です。文字列 "Global = x"から抽出された数字 "x"の合計反復回数を計算したいと思います。各「x」の発生回数を印刷したくない。

たとえば、入力ファイルが次のような場合

Global=33333
Global=33333
Global=33334
Global=33335
Global=33336
Global=33337
Global=33337
Global=33337

「33333」と「33337」の2つの数字が繰り返されるので(何回でも構いません)、出力は2にする必要があります。

頑張った

grep -Po '(Global)=\K\d+' file.dat | sort | uniq -c

しかし、私は不要な各数の発生頻度を取得します。

2 33333
1 33334
1 33335
1 33336
3 33337

どんな助けでも大変感謝します。 gre、awk、およびsedソリューションが許可されています。

ベストアンサー1

uniq -c次のように変更できますuniq -d

$ grep -Po '(Global)=\K\d+' file.dat | sort | uniq -d
33333
33337

-d重複した行だけが印刷されます。他のパイプラインでは、wc -lこれらの行を計算できます。また、grepの-P&オプションはすべて-o非標準なので、すべてのバージョンのgrep

おすすめ記事