Chinaunix
标题:
这个shell错在哪,
[打印本页]
作者:
wpd0508
时间:
2014-06-21 13:03
标题:
这个shell错在哪,
#!/bin/bash
while read line
do
awk -F ',+[ ].' '{for(i=0;i<NF;i++){
a=a" "length($i);
n+=length($i);
}
print a,n/NR;a=n=0}'| <test1
done
作者:
关阴月飞
时间:
2014-06-21 13:29
本帖最后由 关阴月飞 于 2014-06-21 13:32 编辑
这是想干嘛?
作者:
Herowinter
时间:
2014-06-21 13:36
回复
1#
wpd0508
这里没看懂。
print a,n/NR;a=n=0}'| <test1
复制代码
作者:
Herowinter
时间:
2014-06-21 13:37
回复
2#
关阴月飞
大神昨晚又赢钱了,我基本破产了。。。
作者:
wpd0508
时间:
2014-06-21 13:39
我好像懂了点,首先不需要用到while.
回复
3#
Herowinter
作者:
Herowinter
时间:
2014-06-21 13:43
回复
7#
wpd0508
管道好像也不需要,这样就行了。
awk -F'..' '...' urfile
复制代码
作者:
wpd0508
时间:
2014-06-21 13:47
还有就是我想将,空格。等所有符号都定义为分割符 怎么写-F 然后呢
作者:
关阴月飞
时间:
2014-06-21 16:08
回复
6#
Herowinter
赢毛线,输惨了,楼主这个代码怎么感觉是我在另一个贴子里写的呢???
作者:
Herowinter
时间:
2014-06-21 16:16
回复
10#
关阴月飞
估计他拿过来,改了一下,现在不行了,你帮他一下吧,
我看过他需求,只完成第一步好像不难。
对一个纯文本,其中的每一句话,你首先需要按顺序地得到这句话中每一个单词的字母数,比如“ In statistics, a power lar is a functional relationship between two quantities, where one quantity varies as a power of another" 这句话中,按顺序得到的单词的字母数序列是“ 2 10 1 5 3 2 1 10 12 7 3 10 5 3 8 5 3 8 6 2 1 5 2 7.
这文件中的每一句话做一次这样的分析后,你会得到一长串的字数(x1,x2, x3, ... xn), 每一个数字代表一个单词的字母数(n 为文件中单词数)。接下去对这串字数进行进行求平均,得到 xbar. 将原来的数组与xbar做差,得以 ( X1, X2, X3,X4,X5 .... Xn), 其中Xi=xi-xbar.然后对数组[ Xi ] 做累加 得到 [ Y1, Y2, Y3, ... Yn], 其中 Y1=X1, Y2=X1+X2, Y3=X1+X2+X3, ..., Yi = X1+X2+ ... + Xi.
作者:
银风冷月
时间:
2014-06-21 17:49
#!/bin/bash
while read line
do
awk -F ',+[ ].' '{for(i=0;i<NF;i++){
a=a" "length($i);
n+=length($i);
}
print a,n/NR;a=n=0}' $line
done <test1
复制代码
你写的应该是这样,要么就不要用while read 直接awk语句后跟文件名
作者:
LikeLx
时间:
2014-06-23 12:30
回复
6#
Herowinter
一个世界杯,都回到解放前了
作者:
Herowinter
时间:
2014-06-23 13:02
回复
13#
LikeLx
为谁辛苦为谁忙啊,
白手起家的感觉真特别。
作者:
用户名注册后不能更改
时间:
2014-06-23 15:09
回复
13#
LikeLx
新人你好
作者:
expert1
时间:
2014-06-23 16:04
看下我多少分先。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2