У меня есть такой файл:
This is a file with many words.
Some of the words appear more than once.
Some of the words only appear one time.
Я хотел бы сгенерировать список из двух столбцов. Первый столбец показывает, какие слова появляются, второй столбец показывает, как часто они появляются, например:
this@1
is@1
a@1
file@1
with@1
many@1
words3
some@2
of@2
the@2
only@1
appear@2
more@1
than@1
one@1
once@1
time@1
слова
и слова
могут считаться двумя отдельными словами.На данный момент у меня есть это:
sed -i "s/ /\n/g" ./file1.txt # put all words on a new line
while read line
do
count="$(grep -c $line file1.txt)"
echo $line"@"$count >> file2.txt # add word and frequency to file
done < ./file1.txt
sort -u -d # remove duplicate lines
По какой-то причине это показывает только "0" после каждого слова.
Как создать список всех слов, встречающихся в файле, вместе с частотной информацией?