免费注册 查看新帖 |

Chinaunix

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

自己写了一个shell程序,想生成报表,但在报表格式上有点问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-27 11:39 |只看该作者 |倒序浏览
自己写了一个shell程序,想生成报表,但在报表格式上有点问题。报表是生成了,但是每一列不对齐,请教用什么命令使它们对齐?非常感谢!

这是SHELL程序
# !/bin/bash
# author:  jackdong
# date:    2005-10-12
# funcion: oneside
# last modi:2005-10-20

starttime=$1
endtime=$2
echo -n "please input starttime:"
echo "For Example: 2005-09-01"
read starttime
echo -n "please input endtime:"
echo "For Example: 2005-09-30"
read endtime
yy_mm=`date --date='1 month ago' +"%Y/%m"`

bdblogin="admin/admin123"
cdblogin="administrator/admin123"



echo -e \
    "set wrap off;\n" \
    "set linesize 32767;\n" \
    "set pagesize 0;\n" \
    "select 123 || '%' || b.account_no || '%' || d.name || '%' || count(c.cdr_serial) || '%' || sum(c.duration) || '%' || sum(c.dura
tion*rate) " \
    "from admin.comp_account b, administrator.cdr c, admin.company d  where call_type='8' and c.comp_serial=b.comp_acc_serial " \
    "and c.comp_serial=d.comp_acc_serial and b.comp_acc_serial=d.comp_acc_serial and " \
    " to_date(substr(start_time,0,10),  'yyyy-mm-dd') >;= to_date('$starttime', 'yyyy-mm-dd') " \
    "and to_date(substr(start_time,0,10),  'yyyy-mm-dd') <= to_date('$endtime', 'yyyy-mm-dd') " \
    "group by b.account_no,d.name order by d.name;" | \
   
   
     sqlplus -S $cdblogin | \
awk -F% '/^[0-9]*%/{printf("%s\t %s\t %s\t %s\t %s\t\n", $2,$3,$4,$5,$6)}' >; tmp_loc.txt



echo -e "\t\tReport on Unsuccessful or One sided Smart Dialler Calls \n">;cdr_oneside.txt
echo -e "I SG \t\t\t\t Date: "$yy_mm"\n">;>;cdr_oneside.txt
echo -e "Voice Reference Number\tAcct Name\tNo of One-side Calls\tTotal Duration of One-side Calls\tTotal Costs of One-side Calls\n"
>;>;cdr_oneside.txt
cat tmp_loc.txt | awk -F% '{printf("%s\n", $1,$2,$3,$4,$5)}' >;>;cdr_oneside.txt

#echo -e "Report is sorted alphabetically by the Destination Name">;>;cdr_oneside.txt
rm -rf tmp_loc.txt


这是运行的结果:
Report on Unsuccessful or One sided Smart Dialler Calls

PI SG                            Date: 2005/09

Voice Reference Number  Acct Name       No of One-side Calls    Total Duration of One-side Calls        Total Costs of One-side Call
s

0001-000-000     Acxellence Pte Ltd      21      21.6    2.224
0176-000-000     Emsley Pte Ltd  44      18.2    6.903
0549-000-000     Eye-Biz Pte Ltd         8       2.9     .725
0545-000-000     Hoestar Inspection International Pte Ltd        2       .4      .14
0539-000-000     LSK Engineering (S) Pte Ltd     1       .2      .118
0542-000-000     Murtaza Yunus   3       .7      .455
0547-000-000     NTA (S) Holdings Pte Ltd        3       .5      .175
0181-000-000     Now2call        13      13      1.04
0102-000-000     Sea Ocean Marine Products Pte Ltd       1       .2      .1
0551-000-000     Southern Printing & Publishing Co Pte Ltd       2       .4      .14
0541-000-000     Xenith Solutions Pte Ltd        9       1.5     .75
0470-000-000     chris test 1    11      11      .88
0092-000-000     testing         1       .2      .078
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP