📅  最后修改于: 2023-12-03 15:07:50.665000             🧑  作者: Mango
如果你在处理 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
...
单词按字母顺序排列,并使用空格对齐。