📌  相关文章
📜  在 UNIX 中计算字符串中单词出现次数的程序 - 不管(1)

📅  最后修改于: 2023-12-03 15:07:50.665000             🧑  作者: Mango

在 UNIX 中计算字符串中单词出现次数的程序 - 不管

如果你在处理 UNIX 系统中的文本数据时需要计算单词出现的次数,那么这个程序可能会对你有用。该程序可以在 UNIX 系统上运行,并且可以很快地计算出给定字符串中每个单词出现的次数。

程序介绍

该程序使用 Perl 脚本编写,并且可以在 UNIX 系统上运行。它使用空格和标点符号作为单词的分隔符,并忽略任何大小写差异。该程序在计算出每个单词出现的次数后,可以按字母顺序列出单词及其计数。

以下是该程序的代码:

#!/usr/bin/perl -w

use strict;

my $string = shift;

my %word_count;
while ($string =~ /(\w+)/ig) {
    $word_count{lc $1}++;
}

foreach my $word (sort keys %word_count) {
    printf "%-20s %d\n", $word, $word_count{$word};
}

该程序从命令行接收一个字符串参数,并使用 %word_count 哈希表来存储每个单词出现的次数。它使用一个 while 循环来逐个处理字符串中的单词,并使用 /ig 正则表达式匹配来识别单词。在存储单词计数时,程序将单词转换为小写字母以忽略大小写差异。

最后,程序使用 foreach 循环按字母顺序列出单词及其计数。程序使用 printf 函数来格式化输出,并在单词和计数之间使用 20 个空格来对齐输出。

如何使用该程序

要使用该程序,请打开终端,转到包含程序文件的目录,并运行以下命令:

$ perl word_counter.pl "your input string goes here"

请将 "your input string goes here" 替换为要计算单词计数的字符串。程序将输出格式如下的内容:

word1                 count1
word2                 count2
...

单词按字母顺序排列,并使用空格对齐。