統計タプル[閉じる]

統計タプル[閉じる]

各行に1つの単語を含むテキストファイルがあります。バイグラムを作成し、各バイグラムの繰り返し回数(統計)を計算したいと思います。

私のアプローチ:

cat TEXTEN1.txt | tr '*\n' '*? *\n'

2つの列を作成したいのですが、このソリューションは失敗します。

ベストアンサー1

paste -d' ' - - < TEXTEN1.txt

生成されたタプルの数を取得するには、次のようにします。

paste -d' ' - - < TEXTEN1.txt | sort | uniq -c

ただし、このアプローチでは、バイグラムの半分は除外されます。たとえば、入力ファイルが次のような場合:

alpha
beta
gamma
alpha
beta
gamma

タプルには行 1-2、3-4、5-6 が含まれますが、行 2-3 と 3-4 は含まれません。

この問題を解決する1つの方法は、入力ファイルのコピーを作成し、一番上の単語以外の文字(「#」など)を追加してから、単語以外の単語を含む結果をフィルタリングすることです。

cat <(paste -d' ' - - < TEXTEN1.txt; paste -d' ' - - < TEXTEN2.txt) | sort | uniq -c | grep -v #

おすすめ記事