⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 340.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 2 页
字号:
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 &gt; ./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&lt;1.txt.tmp &gt; 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}'`" &gt; test.out<br>
echo "bbb `cat test.txt|awk '{if($1~/bbb/) print $2}'|awk '{kkk+=$1}END{printf "%9.2f" , kkk}'`" &gt;&gt; test.out<br>
echo "ccc `cat test.txt|awk '{if($1~/ccc/) print $2}'|awk '{kkk+=$1}END{printf "%9.2f" , kkk}'`" &gt;&gt; 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 &gt; ./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&lt;1.txt.tmp &gt; 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 &gt; ./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&lt;1.txt.tmp &gt; 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 &gt; ./1.txt.tmp <br>
 <br>
while read keyword <br>
do <br>
  keyno=0 <br>
  keyvalue=0 <br>
  grep $keyword test.txt  &gt; 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 &lt; 2.txt.tmp  <br>
  echo "$keyno $keyword $keyvalue" <br>
done &lt;1.txt.tmp  <br>
 <br>
rm -f ./[12].txt.tmp  <br>
<br>
环境为PC SOLARIS 7。<br>
上边的还是执行不了,俺看一下,原来在执行<br>
awk '{print $2 }' test.txt | sort -u &gt; ./1.txt.tmp 时,产生的文件 1.txt.tmp<br>
的头两行为空格,导致脚本执行不好。俺把那行改一下,变为两行:<br>
-------------------------------------------------<br>
awk '{print $2 }' 1.txt | sort -u &gt; ./1.txt.temp<br>
grep -v "^ *$" 1.txt.temp &gt; 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 &gt; 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 &gt; 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 &gt; ./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>版权所有 &copy; 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 + -