1行に1つの文を保存するテキストファイルがありますが、1つの文(ファイルの1行)に平均して何単語があるのかを知りたいです。どうすればいいですか?
また、このファイルの一意の単語数と2つのファイルの共通の一意の単語数をどのように計算しますか?
事前にありがとう
ベストアンサー1
wc file
与えられた数の行、単語、バイトが表示されますfile
。単語対行の比率は、行当たりの平均単語数を提供する。
一意の単語数を計算するには、ファイルを1行に1つの単語(ここでは1つ以上のスペースで区切られた項目)に分割してソートし、一意の単語数を数えます。
tr -s ' ' '\n' < file | sort -u | wc -l
句読点を削除する必要がある場合は、並べ替える前に結果をフィルタリングする必要があります(例えば不要な文字を削除するためtr
)。
2つのファイルの一意の単語数を数えるには、次のようにしますcomm
。
comm -3 <(tr -s ' ' '\n' < file1 | sort -u) <(tr -s ' ' '\n' < file2 | sort -u)
file1
file2
または両方には、発生せずにのみ発生する単語が一覧表示されます。
comm -12 <(tr -s ' ' '\n' < file1 | sort -u) <(tr -s ' ' '\n' < file2 | sort -u)
両方のファイルに表示される単語をリストし、wc -l
パイプで計算します。
複数のファイルの一意の単語数を数えるには、次に供給する前に接続してくださいtr
。
cat file1 file2 | tr -s ' ' '\n' | sort -u | wc -l