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
。