在这里使用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"
}
答案 0 :(得分:2)
至于字符,请尝试此操作(将echo“test”调整到输出的位置):
expr `echo "test" | sed "s/./ + 1/g;s/^/0/"`
至于行,试试这个:
expr `echo -e "test\ntest\ntest" | 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
答案 1 :(得分:0)
您可以使用以下Bash shell脚本执行此操作:
count=0
for var in `cat $1`
do
count=`echo $count+1 | bc`
done
echo $count