LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: savage_gan

~~如何获取一个文本文件的字符串数???~~

[复制链接]
发表于 2006-11-7 14:14:35 | 显示全部楼层
tr "[:blank:]" "\n" < file | sed -n $=
回复 支持 反对

使用道具 举报

发表于 2006-11-7 14:20:29 | 显示全部楼层
Post by savage_gan
上面的看不懂
能给个脚本吗?? 脚本还能看懂点
谢谢

你把这句话拷到文件里,file.sh,然后给它运行权限,然后运行就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-7 14:25:00 | 显示全部楼层
Post by seamonkey
要求不能用wc,这算什么。哪个POSIX系统上没有wc?
不是没有wc
这是一个考试题目,当然要按要求写了……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-7 14:32:27 | 显示全部楼层
Post by seamonkey
tr "[:blank:]" "\n" < file | sed -n $=
谢了,但如果词之间有两个空格呢??

能用read 加循环 累加吗??
怎么做??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-7 14:33:11 | 显示全部楼层
比如
while read val
do
    n=n+1;    (我不会shell的语法)
done
回复 支持 反对

使用道具 举报

发表于 2006-11-7 14:43:33 | 显示全部楼层
tr -s加个`-s'
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-7 16:08:44 | 显示全部楼层
现在会了:
content=`cat 1.txt`
nword=0
for word in content
do
nword=`expr $nword + 1`
done
echo $nword
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-7 16:16:48 | 显示全部楼层
谢谢大马猴:)
回复 支持 反对

使用道具 举报

发表于 2006-11-7 16:32:54 | 显示全部楼层
for i in $(< file)
就是完全不依赖外部命令了。
回复 支持 反对

使用道具 举报

发表于 2006-11-8 09:34:12 | 显示全部楼层

  1. n=0
  2. for word in `cat $1`
  3. do
  4.         n=$((n+1))
  5. done
  6. echo $n
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表