![テキストファイルの固有要素数の計算](https://linux33.com/image/119852/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%9B%BA%E6%9C%89%E8%A6%81%E7%B4%A0%E6%95%B0%E3%81%AE%E8%A8%88%E7%AE%97.png)
ユーザーのツイートを含むテキストファイルがあります。
470192 anneJackson Apple's new iPhone is a no go for me
470193 trex90 For something so expensive, I'll go for Android anyway
470194 anneJackson What an outrageous pricing!
最初の列はIDを表し、次にユーザー名とユーザーのツイートが表示されます。今やりたいことは、一意のユーザーあたりのツイート数を数えるコマンドを書くことです。これにより、次のような結果が得られます。
anneJackson 2
trex 1
私は同様のことを試しました:
cut -f 2 Twitter_Data_1 | sort | uniq -c
しかし、ユーザー列だけを使用してツイートを含めないため、正しくない感じがします。
答え1
いいことだアッ:
awk '{ a[$2]++ }END{ for(i in a) printf "%-15s%s\n",i,a[i] }' Twitter_Data_1
a[$2]++
- 各固有の発生回数を増やします。ユーザー名(2番目のフィールド値として表示$2
)
出力:
trex90 1
anneJackson 2
答え2
ファイルに固定幅の列があり、列間のスペースがタブの代わりにスペースであると仮定すると、
cut -c 10-24 Twitter_Data_1 | sort | uniq -c
これはあなたに与えるでしょう
2 anneJackson
1 trex90
各行はツイートを表しているため、コマンドにツイートを含める必要はありません。