首页 > 解决方案 > 使用 for 循环计算文本中来自 csv 的字符串的出现次数,并将其存储为 bash 中的新列

问题描述

我有一个 CSV 格式的名称列表。我还有一个 txt 格式的聊天文件,每次发送消息时都会显示此人的姓名。我试图计算他们的名字在聊天中出现了多少次,并在整个名字列表中循环。

当我尝试 for 循环时:

names=$(cat nameslist.csv | cut -d ',' -f1)
for n in $names; do
  count=$(grep $n chat.txt | wc -l)
done
echo $count

我的 $count 输出只是“1”,所以我认为 for 循环中出了点问题,只显示最后一个值。

我究竟做错了什么?

最终我想创建一个 csv,其中有一列他们的名字和他们在聊天中出现的次数($count)。

标签: bashcsvfor-loopgrep

解决方案


推荐阅读