免费注册 查看新帖 |

Chinaunix

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

Shell版unl2xls [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-13 20:13 |只看该作者 |倒序浏览
学习perl过程中开始退回来重新系统的学习unix基本知识,此程序为在看"sed & awk"过程中根据C语言版改写,希望有人能用得到。

  1. #unl2xls:convert unl files to xls files
  2. #write by huangtao

  3. UNLToXls() {
  4. awk '
  5. BEGIN {
  6.     FS="|"
  7.     print "<HTML>"
  8.     print "<HEAD>"
  9.     #确保中文能正常显示
  10.     print "<META http-equiv=Content-Type content=\"text/html;charset=gb2312\">"
  11.     print "</HEAD>"
  12.     print "<BODY>"
  13.     print "<TABLE border=\"1\">"
  14. }

  15. {
  16.     for(n=1;n<=NF-1;n++) {
  17.         if (n==1)  print "<TR>"
  18.         #将0开头字符串强制设置为文本格式
  19.         if ($n ~ /^0[0-9]+$/) printf("<TD nowrap style=mso-number-format:\"\\@\">%s</TD>\n",$n)
  20.         else printf("<TD nowrap>%s</TD>\n",$n)
  21.         if (n==NF-1) printf("</TR>\n")
  22.     }
  23. }

  24. END {
  25.     print "</TABLE>"
  26.     print "</BODY>"
  27.     print "</HTML>"
  28. }
  29. ' $OldFileName
  30. rm $OldFileName
  31. }

  32. if [ -z "$1" ];then
  33.     echo "Usage: $0 file1.unl [file2.unl]..."
  34.     exit
  35. fi

  36. for OldFileName in $* ;  do
  37.     if [ -s $OldFileName ];then
  38.         NewFileName=${OldFileName%unl}xls
  39.         UNLToXls $OldFileName >$NewFileName
  40.     else rm $OldFileName
  41.     fi
  42. done
  43. #tar cf `date +"%Y%m%d%H%M"`.rar *.xls && rm *.xls

复制代码

unl2xls.tar

10 KB, 下载次数: 21

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-10-14 19:39 |只看该作者
XLS?我还以为是excel文件呢。是xml?html?
unl有是什么格式,不懂。^_^

论坛徽章:
0
3 [报告]
发表于 2006-10-14 22:37 |只看该作者
一般informix下unload下来是用"|"作为字段分隔符,当然,你可以自行定义,好像一般就是叫做unl文件
其实这个程序转换之后是个网页,可以用浏览器正常浏览,也可以用excel打开,但是由于公司一般用excel,所以就取了个后缀名xls,也就是一般excel文件的后缀名
呵呵,informix数据库的用户应该很熟的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP