免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3704 | 回复: 18
打印 上一主题 下一主题

能否帮我编个脚本? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-07 12:36 |只看该作者 |倒序浏览
<aaaList>
<aaaRrp user="point001-point008">
  <aaa user="point001"/>
  <aaa user="point002"/>
  <aaa user="point003"/>
  <aaa user="point004"/>
  <aaa user="point005"/>
  <aaa user="point006"/>
  <aaa user="point007"/>
  <aaa user="point008"/>
</aaaRrp>
<aaaRrp user="point009-point016">
  <aaa user="point009"/>
  <aaa user="point010"/>
  <aaa user="point011"/>
  <aaa user="point012"/>
  <aaa user="point013"/>
  <aaa user="point014"/>
  <aaa user="point015"/>
  <aaa user="point016"/>
</aaaRrp>
<aaaRrp user="point017-point024">
  <aaa user="point017"/>
  <aaa user="point018"/>
  <aaa user="point019"/>
  <aaa user="point020"/>
  <aaa user="point021"/>
  <aaa user="point022"/>
  <aaa user="point023"/>
  <aaa user="point024"/>
</aaaRrp>
<aaaRrp user="point025-point032">
  <aaa user="point025"/>
  <aaa user="point026"/>
  <aaa user="point027"/>
  <aaa user="point028"/>
  <aaa user="point029"/>
  <aaa user="point030"/>
  <aaa user="point031"/>
  <aaa user="point032"/>
</aaaRrp>






<aaaRrp user="poin393-point400">
  <aaa user="point393"/>
  <aaa user="point394"/>
  <aaa user="point385"/>
  <aaa user="point396"/>
  <aaa user="point397"/>
  <aaa user="point398"/>
  <aaa user="point399"/>
  <aaa user="point400"/>
</aaaRrp>
</aaaList>

问题:8个一组,从小到大。

论坛徽章:
0
2 [报告]
发表于 2010-09-07 12:49 |只看该作者
LZ忘了留下邮箱

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
3 [报告]
发表于 2010-09-07 12:56 |只看该作者
try:
  1. awk 'BEGIN{print "<aaaList>";for(i=1;i<=400;i+=8){printf "<aaaRrp user=\042point%03d-point%03d\042>\n",i,i+7;for(j=i;j<=i+7;j++)printf "\t<aaa user=\042point%03d\042/>\n",j;print "</aaaRrp>"}print "</aaaList>"}'
复制代码

论坛徽章:
0
4 [报告]
发表于 2010-09-07 14:39 |只看该作者
try:
ly5066113 发表于 2010-09-07 12:56



    谢谢,可以!

论坛徽章:
0
5 [报告]
发表于 2010-09-07 15:01 |只看该作者
如果,这段程序的文件名为aa,那么如果我执行./aa 1 400
取两个变量,程序如何修改呢?

论坛徽章:
0
6 [报告]
发表于 2010-09-07 15:26 |只看该作者
本帖最后由 好看的附件 于 2010-09-07 16:42 编辑

回复 5# 馨馨


  已经修改了


  1. #!/bin/bash
  2. if [[ $# -lt 2 ]];then
  3.         echo "Usage:./aa startnum endnum"
  4.         exit   
  5. fi
  6. echo "<aaaList>"
  7. for((i=$1;i<=$2;i++))
  8. do
  9.         staval=$(printf "%03d" $i)      
  10.         endval=$(($i+7))        
  11.         if [[ $endval -gt $2 ]];then
  12.                 endval=$(printf "%03d" $2)      
  13.         else   
  14.                 endval=$(printf "%03d" $(($i+7)))      
  15.         fi      
  16.         if [[ $flag -eq 0 ]];then
  17.                 echo "<aaaRrp user="point$staval-point$endval">"
  18.                 flag=1  
  19.         fi      
  20.         echo "<aaa user="point$staval"/>"
  21.         if [[ $(($i%8)) -eq 0 ]];then
  22.                 flag=0  
  23.                 echo "</aaaRrp>"
  24.         fi      
  25. done
  26. if [ $flag -eq 1 ];then
  27.         echo "</aaaRrp>"
  28. fi
  29. echo "</aaaList>"
复制代码

论坛徽章:
0
7 [报告]
发表于 2010-09-07 15:52 |只看该作者
./aa 1 32
<aaaList>
./aaseg: line 12: [[: 008: value too great for base (error token is "008")
<aaaRrp user=point001-point008>
<aaa user=point001/>
./aaseg: line 12: [[: 009: value too great for base (error token is "009")
<aaa user=point002/>
<aaa user=point003/>
<aaa user=point004/>
<aaa user=point005/>
<aaa user=point006/>
<aaa user=point007/>
<aaa user=point008/>
</aaaRrp>
<aaaRrp user=point009-point016>
<aaa user=point009/>
<aaa user=point010/>
./aaseg: line 12: [[: 018: value too great for base (error token is "018")
<aaa user=point011/>
./aaseg: line 12: [[: 019: value too great for base (error token is "019")
<aaa user=point012/>
<aaa user=point013/>
<aaa user=point014/>
<aaa user=point015/>
<aaa user=point016/>
</aaaRrp>
<aaaRrp user=point017-point024>
<aaa user=point017/>
<aaa user=point018/>
<aaa user=point019/>
<aaa user=point020/>
./aaseg: line 12: [[: 028: value too great for base (error token is "028")
<aaa user=point021/>
./aaseg: line 12: [[: 029: value too great for base (error token is "029")
<aaa user=point022/>
<aaa user=point023/>
<aaa user=point024/>
</aaaRrp>
<aaaRrp user=point025-point032>
<aaa user=point025/>
<aaa user=point026/>
<aaa user=point027/>
<aaa user=point028/>
<aaa user=point029/>
<aaa user=point030/>
./aaseg: line 12: [[: 038: value too great for base (error token is "038")
<aaa user=point031/>
./aaseg: line 12: [[: 039: value too great for base (error token is "039")
<aaa user=point032/>
</aaaRrp>
</aaaList>

有点问题,帮我改改

论坛徽章:
0
8 [报告]
发表于 2010-09-07 15:54 |只看该作者
附件,再帮我改改。谢谢

论坛徽章:
0
9 [报告]
发表于 2010-09-07 16:08 |只看该作者
回复 8# 馨馨


    已经修改了,我又编辑了下

论坛徽章:
0
10 [报告]
发表于 2010-09-07 16:28 |只看该作者
回复 9# 好看的附件


   非常好用!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP