📄 340.html
字号:
3 aaa 1000<br>
4 aaa 1000<br>
5 ccc 1000<br>
6 bbb 1000<br>
要求产生新文件格式为<br>
1 aaa 3000<br>
2 bbb 2000<br>
5 ccc 1000<br>
<br>
写的有些复杂,我也没什么好方法<br>
<br>
#!/usr/bin/ksh<br>
awk '{print $2 }' 1.txt | sort -u > ./1.txt.tmp<br>
<br>
while read keyword<br>
do<br>
keyno=0<br>
keyvalue=0<br>
grep $keyword 1.txt | while read no nouse value<br>
do<br>
if [ $keyno -ge $no -o $keyno -eq 0 ]<br>
then<br>
keyno=$no<br>
fi<br>
(( keyvalue=keyvalue + value ))<br>
done<br>
echo "$keyno $keyword $keyvalue"<br>
done<1.txt.tmp > 2.txt<br>
<br>
rm -f ./1.txt.tmp<br>
<br>
echo "aaa `cat test.txt|awk '{if($1~/aaa/) print $2}'|awk '{kkk+=$1}END{printf "%9.2f" , kkk}'`" > test.out<br>
echo "bbb `cat test.txt|awk '{if($1~/bbb/) print $2}'|awk '{kkk+=$1}END{printf "%9.2f" , kkk}'`" >> test.out<br>
echo "ccc `cat test.txt|awk '{if($1~/ccc/) print $2}'|awk '{kkk+=$1}END{printf "%9.2f" , kkk}'`" >> test.out<br>
<br>
biansj,你的程序不是不行,bsh可以吗?<br>
<br>
一面字我打错了,程序不能运行,bsh可以吗?<br>
<br>
编辑 发贴时间2002/12/14 09:48am 此 IP 为代理服务器IP: 已设置保密<br>
该用户目前不在线 nhrms <br>
<br>
去掉第一行:<br>
awk '{print $2 }' 1.txt | sort -u > ./1.txt.tmp<br>
<br>
while read keyword<br>
do<br>
keyno=0<br>
keyvalue=0<br>
grep $keyword 1.txt | while read no nouse value<br>
do<br>
if [ $keyno -ge $no -o $keyno -eq 0 ]<br>
then<br>
keyno=$no<br>
fi<br>
(( keyvalue=keyvalue + value ))<br>
done<br>
echo "$keyno $keyword $keyvalue"<br>
done<1.txt.tmp > 2.txt<br>
<br>
rm -f ./1.txt.tmp<br>
<br>
运行后提示:<br>
+:not found<br>
<br>
#!/usr/bin/bsh<br>
awk '{print $2 }' 1.txt | sort -u > ./1.txt.tmp<br>
<br>
while read keyword<br>
do<br>
keyno=0<br>
keyvalue=0<br>
grep $keyword 1.txt | while read no nouse value<br>
do<br>
if [ $keyno -ge $no -o $keyno -eq 0 ]<br>
then<br>
keyno=$no<br>
fi<br>
keyvalue=`expr $keyvalue + $value`<br>
#(( keyvalue=keyvalue + value ))<br>
done<br>
echo "$keyno $keyword $keyvalue"<br>
done<1.txt.tmp > 2.txt<br>
<br>
rm -f ./1.txt.tmp<br>
<br>
运行后,输出:<br>
0 aaa 0<br>
0 bbb 0<br>
0 ccc 0<br>
不对!<br>
<br>
你把我写的内容C&P一个文件file,chmod +x file,然后运行./file<br>
注意1.txt要在当前目录,结果为2.txt,如果不对,我就不清楚了<br>
<br>
我刚才就是这么做的,出来结果就这样<br>
<br>
改成这样就可以了。<br>
<br>
代码:<br>
<br>
<br>
<br>
awk '{print $2 }' test.txt | sort -u > ./1.txt.tmp <br>
<br>
while read keyword <br>
do <br>
keyno=0 <br>
keyvalue=0 <br>
grep $keyword test.txt > 2.txt.tmp <br>
while read no nouse value <br>
do <br>
if [ $keyno -ge $no -o $keyno -eq 0 ] <br>
then <br>
keyno=$no <br>
fi <br>
keyvalue=`expr $keyvalue + $value` <br>
done < 2.txt.tmp <br>
echo "$keyno $keyword $keyvalue" <br>
done <1.txt.tmp <br>
<br>
rm -f ./[12].txt.tmp <br>
<br>
环境为PC SOLARIS 7。<br>
上边的还是执行不了,俺看一下,原来在执行<br>
awk '{print $2 }' test.txt | sort -u > ./1.txt.tmp 时,产生的文件 1.txt.tmp<br>
的头两行为空格,导致脚本执行不好。俺把那行改一下,变为两行:<br>
-------------------------------------------------<br>
awk '{print $2 }' 1.txt | sort -u > ./1.txt.temp<br>
grep -v "^ *$" 1.txt.temp > 1.txt.tmp<br>
------------------------------------------------<br>
执行正常:<br>
------------------------------------------------<br>
# ./sortnadd<br>
0+1 aaa 3000<br>
0+2 bbb 2000<br>
0+5 ccc 1000<br>
-----------------------------------------------<br>
哪位高手指点一下,为何有空行?<br>
<br>
0+1 aaa 3000<br>
<br>
0+1 啥子意思?<br>
<br>
楼上贴子作废啊,SORRY,我自己把自己骗了<br>
<br>
楼上各位有考虑过如果原始数据量很大(比如5万条、50万条?)时执行效率的问题吗?<br>
如果处理每个关键字都要扫描一下源文件的话似乎太慢了?<br>
#!/bin/sh<br>
sort +1 -2 test.txt > 1.txt<br>
awk 'BEGIN{no=-1;}{if (no==-1){no=$1;k=$2;tot=0;} <br>
if (k==$2) {tot+=$3;} <br>
else{printf "%d %s %d", no,k,tot; <br>
no=$1; k=$2; tot=$3;} } <br>
END{printf "%d %s %d", no,k,tot;}' 1.txt > output.txt<br>
rm -f 1.txt<br>
<br>
sort +1 -2 啥子意思?<br>
<br>
http://www.fanqiang.com/a1/b5/20010923/0805001336.html<br>
<br>
这个问题的本质还是分组求和问题,第一个自定相对来说无甚含义,因此我简单的给出下面的答案:<br>
awk '{total[$2]+=$3}END{for (s in total){printf("%s %d",s,total[s])}' 1.txt<br>
<br>
斑竹,这是什么shell?ksh 好象不可以<br>
<br>
下面引用由红豆在 2002/12/16 01:17am 发表的内容:<br>
改成这样就可以了。<br>
awk '{print $2 }' test.txt | sort -u > ./1.txt.tmp<br>
while read keyword<br>
do<br>
...<br>
<br>
为什么运行后 总是<br>
<br>
0 aaa 0<br>
0 bbb 0<br>
0 ccc 0<br>
<br>
哪里不可以?<br>
这是awk的问题,如果你引号用的对的话,有shell无关。<br>
</FONT><br>
</TD>
</TR>
<TR>
<TD colSpan=2><FONT
class=middlefont></FONT><BR>
<FONT
class=normalfont>全文结束</FONT> </TD>
</TR>
<TR>
<TD background="images/dot.gif" tppabs="http://www.linuxhero.com/docs/images/dot.gif" colSpan=2
height=10></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></TD>
<TD vAlign=top width="20%"
background="images/line.gif" tppabs="http://www.linuxhero.com/docs/images/line.gif" rowSpan=2>
<DIV align=center>
<table class=tableoutline cellspacing=1 cellpadding=4
width="100%" align=center border=0>
<tr class=firstalt>
<td noWrap background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colspan=2 height=21>
<font class=normalfont><b>所有分类</b></font></td>
</tr>
<tr class=secondalt> <td noWrap width=27%> <font class=normalfont>1:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type1.html" tppabs="http://www.linuxhero.com/docs/type1.html">非技术类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>2:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type2.html" tppabs="http://www.linuxhero.com/docs/type2.html">基础知识</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>3:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type3.html" tppabs="http://www.linuxhero.com/docs/type3.html">指令大全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>4:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type4.html" tppabs="http://www.linuxhero.com/docs/type4.html">shell</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>5:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>6:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type6.html" tppabs="http://www.linuxhero.com/docs/type6.html">xwindow</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>7:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type7.html" tppabs="http://www.linuxhero.com/docs/type7.html">kde</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>8:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type8.html" tppabs="http://www.linuxhero.com/docs/type8.html">gnome</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>9:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type9.html" tppabs="http://www.linuxhero.com/docs/type9.html">输入法类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>10:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type10.html" tppabs="http://www.linuxhero.com/docs/type10.html">美化汉化</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>11:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type11.html" tppabs="http://www.linuxhero.com/docs/type11.html">网络配置</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>12:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type12.html" tppabs="http://www.linuxhero.com/docs/type12.html">存储备份</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>13:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type13.html" tppabs="http://www.linuxhero.com/docs/type13.html">杂项工具</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>14:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type14.html" tppabs="http://www.linuxhero.com/docs/type14.html">编程技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>15:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type15.html" tppabs="http://www.linuxhero.com/docs/type15.html">网络安全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>16:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type16.html" tppabs="http://www.linuxhero.com/docs/type16.html">内核技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>17:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type17.html" tppabs="http://www.linuxhero.com/docs/type17.html">速度优化</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>18:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type18.html" tppabs="http://www.linuxhero.com/docs/type18.html">apache</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>19:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type19.html" tppabs="http://www.linuxhero.com/docs/type19.html">email</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>20:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type20.html" tppabs="http://www.linuxhero.com/docs/type20.html">ftp服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>21:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type21.html" tppabs="http://www.linuxhero.com/docs/type21.html">cvs服务</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>22:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type22.html" tppabs="http://www.linuxhero.com/docs/type22.html">代理服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>23:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type23.html" tppabs="http://www.linuxhero.com/docs/type23.html">samba</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>24:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type24.html" tppabs="http://www.linuxhero.com/docs/type24.html">域名服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>25:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type25.html" tppabs="http://www.linuxhero.com/docs/type25.html">网络过滤</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>26:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type26.html" tppabs="http://www.linuxhero.com/docs/type26.html">其他服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>27:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type27.html" tppabs="http://www.linuxhero.com/docs/type27.html">nfs</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>28:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type28.html" tppabs="http://www.linuxhero.com/docs/type28.html">oracle</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>29:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type29.html" tppabs="http://www.linuxhero.com/docs/type29.html">dhcp</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>30:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type30.html" tppabs="http://www.linuxhero.com/docs/type30.html">mysql</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>31:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type31.html" tppabs="http://www.linuxhero.com/docs/type31.html">php</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>32:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type32.html" tppabs="http://www.linuxhero.com/docs/type32.html">ldap</a></font></td> </tr> </table></td></tr> </table>
</DIV></TD></TR>
<TR vAlign=top>
<TD width="80%">
<DIV align=center><BR>
</DIV>
</TD></TR></TBODY></TABLE></TD></TR>
</TABLE></TD></TR>
</TABLE>
<TABLE cellSpacing=0 cellPadding=4 width="100%" bgColor=#eeeeee
border=0><TBODY>
<TR>
<TD width="50%">
<P><FONT class=middlefont>版权所有 © 2004 <A
href="mailto:bjchenxu@sina.com">linux知识宝库</A><BR>
违者必究. </FONT></P>
</TD>
<TD width="50%">
<DIV align=right><FONT class=middlefont>Powered by: <A
href="mailto:bjchenxu@sina.com">Linux知识宝库</A> Version 0.9.0 </FONT></DIV>
</TD></TR></TBODY></TABLE>
<CENTER></CENTER></TD></TR>
</TABLE></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -