Linux   发布时间:2022-05-08  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 计算输入文件中字符串的出现次数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有一个 sHell脚本应该处理传入的文本文件.

此文本文件包含多行分割的字符串,每个字符串多次出现.

sHell脚本需要读取此文本文件并输出每个字符串的String和count.

虑文本文件是:

输出应该是这样的

现在,我能够打印字符串的出现,但是重复字符串出现的次数,即“Tim出现2次”被打印两次.我在计算它的出现时我试图用NULL替换一个字符串,但由于某种原因,sed不起作用,因为我可能没有在正确的位置(或以正确的方式)调用它

#!/bin/bash

INPUT_FILE="$1"
declare -a LIST_CHARS

if [ $# -ne 1 ]
then
        echo "Usage: $0 <file_name>"
        exit 1
fi


if [ ! -f $INPUT_FILE ]
then
        echo "$INPUT_FILE does not exists. Please specify correct file name"
        exit 2
fi

while read line
do
        while read i
        do
                echo $line
                count=`grep -i $line | wc -l`
                echo "String $line appears $count times"
        done < $INPUT_FILE

done < $INPUT_FILE

解决方法

经典的awk解决方案如下:

$awk 'NF{ count[ toupper( $0 ) ]++} 
    END{ for ( name in count ) { print name " appears " count[ name ] " times" };
}' input

大佬总结

以上是大佬教程为你收集整理的linux – 计算输入文件中字符串的出现次数全部内容,希望文章能够帮你解决linux – 计算输入文件中字符串的出现次数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: