命令处理文件夹中的所有文件并将结果输出到单个文件

命令处理文件夹中的所有文件并将结果输出到单个文件

我有一个文件列表,准确地说是 10 个,位于一个菜谱文件夹中。我必须确定每个单词在所有文件中出现的次数,然后根据这些频率对它们进行排序。我可以让我的命令一次处理一个文件,但我需要它一次处理每个文件,然后输出到一个文件。例如:这个词总共出现 25 次,那么输出将为:25 个盐。到目前为止我有这个:

sed -d 's/\s/\n/g' < lyrics01.txt | sort | uniq -c | sort -nr >> lyrics01wordcount.tf

我需要对此进行更改以适用于目录中的每个文件,我理解为什么它适用于上面的文件。任何帮助将非常感激。

答案1

sed -d 's/\s/\n/g' * | sort | uniq -c | sort -nr >> lyrics01wordcount.tf

简单的。

答案2

两件事情:

  1. 您不需要使用重定向sed。它将任何文件名视为输入数据。所以sed ... lyrics01.txt效果一样好sed ... < lyrics01.txt(事实上更好,因为......)
  2. 如果没有重定向,您可以将多个文件指定为sed: sed ... file1 file2 ...,或者根据您的情况,仅指定sed ... *.txt.

相关内容