在不使用 WC 的情况下计算文件中的单词



在这里使用shell脚本,尝试在不使用wc命令的情况下计算文件中的单词/字符/行数。 我可以将文件分成几行并轻松计算这些,但我在这里很难获得单词和字符。

#define word_count function
count_stuff(){
    c=0
    w=0
    l=0
    local f="$1"
    while read Line
    do
        l=`expr $line + 1`
        # now that I have a line I want to break it into words and characters???
    done < "$f"
    echo "Number characters:  $chars"
    echo "Number words: $words"
    echo "Number lines: $line"

}

至于字符,请尝试以下操作(将回声"测试"调整到您获得输出的位置):

expr `echo "test" | sed "s/./ + 1/g;s/^/0/"`

至于台词,试试这个:

expr `echo -e "testntestntest" | sed "s/^.*$/./" | tr -d "n" | sed "s/./ + 1/g;s/^/0/"`

===

至于你的代码,你想要这样的东西来计算单词(如果你想完全原始

):
while read line ; do
 set $line ;
 while true ; do
  [ -z $1 ] && break
  l=`expr $l + 1`
  shift ;
 done ;
done

您可以使用以下 Bash shell 脚本执行此操作:

count=0
for var in `cat $1`
do
    count=`echo $count+1 | bc`
done
echo $count

最新更新