下面引用由feeling在 2002/01/29 02:23pm 发表的内容:
赋值语句可以直接用 $length=$length-1 或者 let length=$length-1
原帖由 "wangrujun" 发表:
这样为什么不行呢?不在文件里面,在命令行中
echo "/xxx/1/2/3/4/5.sh" | awk '{for (i=1;i<=NF;i++) if ($i == "/" count++} END{print count}'
原帖由 "aquino" 发表:
不用编程啦,
grep -c hello test
原帖由 "shirley" 发表:
mygod真是高手啊。我的想法与你不谋而合。就是将hello用一个包含特殊标志的新行代替,然后计算包含特殊标志的行数。只是不知道在sed中怎样添加一个新行,好象\n不成。
从今天早上坐车开始,我就在琢磨sed的使用。
原帖由 "michaelds" 发表:
刚翻出这个旧帖,觉得可以这样:
awk '{for (i=1;i<=NF;i++) if ($i == "hello" count++} END{print count}' file
原帖由 awk就是awp加ak 于 2006-10-3 10:37 发表
喝喝,把陈年老酒都挖出来了!
不用说,最后一个方法最精简
原帖由 minewhy 于 2003-6-25 13:53 发表
前面的shell程序可能没有考虑到形如khellollsd这种夹在中间的hello词汇。容易造成错误。
我写了一个perl的程序,望大家指正:
#!/usr/bin/perl
my ($count);
$count=0;
open(IN ...
原帖由 mygod 于 2002-1-30 10:13 发表
[这个贴子最后由mygod在 2002/01/30 10:15am 编辑]
呵呵,偶又生一计:
sed 's/hello/\nhello\n/' test > test1
sed '/hello/' test1 > test2
length=`cat test2 | wc -l`
原帖由 shirley 于 2002-1-29 10:55 发表
想写这么一个shell script, 找出一个文件比如test中出现hello的次数。
请大家帮帮忙,我还没想出来。
原帖由 antimatter 于 2006-11-29 17:36 发表
个人觉得这个问题首先要把问题的条件限定清楚,做一个较为完整的需求分析。然后我们再根据不同的情况分析。
原帖由 ora_length 于 2006-12-4 14:47 发表
# awk -F"hello" '{sum+=NF;sum-=1} END{print sum}' test
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |