~~如何获取一个文本文件的字符串数???~~
如题,比如一个文本文件text.txt:
aaaa bbbb
cc ffffggg
现在想要对文件的内容进行计数,得到 4
应该如何做??
用grep 或 shell脚本应该可以
但具体的命令和语句不会
本人菜鸟,比较紧急,也没时间慢慢找书看了,谢谢赐教:)
请各位大哥给出详细命令或语句……
问题点数:20、回复次数:18Top
1 楼savagegan(shusheng gan)回复于 2006-11-07 11:43:26 得分 0
upupup
Top
2 楼xdspower(杂食菜熊)回复于 2006-11-07 11:52:07 得分 0
wc -w filename
多用man系统啊,此外在网络上查找啊Top
3 楼Jiura()回复于 2006-11-07 12:28:59 得分 0
用wc可以看到TXT的字符数,行数. LZ是否就是这个意思Top
4 楼savagegan(shusheng gan)回复于 2006-11-07 12:37:32 得分 0
要求:
不能用wc
其它的方法呢??Top
5 楼savagegan(shusheng gan)回复于 2006-11-07 12:41:38 得分 0
用shell脚本应该可以吧
比如
n = 0;
while read str
do
n =n+1;
done
echo $n
但我不知道具体怎么写,请大家指教Top
6 楼savagegan(shusheng gan)回复于 2006-11-07 13:26:30 得分 0
没人知道吗??Top
7 楼xdspower(杂食菜熊)回复于 2006-11-07 13:46:23 得分 0
如果不能用wc,就是用grep匹配所有分词符号(连续的,采用最大匹配),然后计数+1,但这个不够精确的。Top
8 楼savagegan(shusheng gan)回复于 2006-11-07 13:50:44 得分 0
楼上的大哥,如何实现??
我不太会用shell
现在急用啊给个例子吧
就几行而已
谢谢Top
9 楼asphp(AwaiLi)回复于 2006-11-07 14:47:41 得分 0
wc test.txt|awk '{print $2}'Top
10 楼savagegan(shusheng gan)回复于 2006-11-07 14:49:26 得分 0
倒……
前面说过了,能用wc
谁能给出一个脚本例子??
比如:
while read val
do
n=n+1; (累加,我不会shell的语法)
done
Top
11 楼savagegan(shusheng gan)回复于 2006-11-07 14:49:43 得分 0
倒……
前面说过了,“不”能用wc
谁能给出一个脚本例子??
比如:
while read val
do
n=n+1; (累加,我不会shell的语法)
done
Top
12 楼savagegan(shusheng gan)回复于 2006-11-07 15:00:49 得分 0
我自己写了一个(试了好久):
n=0;
while read aa;
do
n=`expr $n + 1`;
done < 1.txt
echo $n;
但上面的read会读入每行的内容,我想每次读入一个词,而不是一行,如何做???Top
13 楼asphp(AwaiLi)回复于 2006-11-07 15:03:55 得分 15
filecontent=`cat test.txt`
numwords=0
for word in $filecontent
do
numwords=`expr $numwords + 1`
done
echo $numwordsTop
14 楼xdspower(杂食菜熊)回复于 2006-11-07 15:59:43 得分 5
如果你的文件很标准,都是由空格进行分词,使用awk来完成是最方便的。
awk 'BIGIN { FS = "[:space:]" ; count = 0 ;} {count = count + NF } END { printf count"\n" }' filenameTop
15 楼xdspower(杂食菜熊)回复于 2006-11-07 16:00:17 得分 0
注意,上面是在一行中。Top
16 楼savagegan(shusheng gan)回复于 2006-11-07 16:04:33 得分 0
谢谢楼上:)Top
17 楼Fenris()回复于 2006-11-09 17:41:15 得分 0
学习了!Top
18 楼xdspower(杂食菜熊)回复于 2006-11-14 17:16:12 得分 0
最近看一篇文章
http://www-128.ibm.com/developerworks/cn/linux/l-shprg/index.html
想到当时我测试asphp(AwaiLi)的脚本时确实出现了这样的问题,所以上面asphp(AwaiLi)的脚本进行一下改造可能性能提高很多的。
而且改造仅仅只有一句
numwords=`expr $numwords + 1` 改成
numwords=$[ ${numwords}+1 ]
Top




