免费注册 查看新帖 |

Chinaunix

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

[文本处理] 在处理CSV文件的时候函数卡住了 解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-09-13 16:40 |只看该作者 |倒序浏览
本帖最后由 Piaomiao139 于 2015-09-13 17:29 编辑
  1. #!/bin/bash

  2. Filename=$1
  3. function isallline(){
  4.     linenumber=$1
  5.     lineinfo=$2
  6.     filename=$3
  7.     getinfo=`echo $lineinfo|awk -F '"' '{print NF-1}'`
  8.     IsAl=$((getinfo%2))
  9.     if [[ $IsAl != 0 ]]
  10.     then
  11.         linenumber=$((linenumber+1))
  12.       
  13.         lineinfo="$lineinfo""`sed -n ''$linenumber'p' $filename`"
  14.         isallline $linenumber "$lineinfo" $filename
  15.     else
  16.         echo "$lineinfo" >>CSVFile
  17.         return $linenumber
  18.     fi
  19. }

  20. echo >CSVFile
  21. i=1
  22. line=0
  23. while read LINE
  24. do
  25.     getinfo=`echo $LINE|awk -F '"' '{print NF-1}'`
  26.     if [[ $getinfo != 0 ]]
  27.     then
  28.         isallline $i "$LINE" $Filename
  29.         linenumber=$?
  30.     fi
  31.     echo $i
  32.     if [[ $i -gt $linenumber]]
  33.     then
  34.         echo $LINE >> CSVFile
  35.     fi  
  36. let i++
  37. done < $Filename
复制代码
方法没错调用时候错了
方法还要加上判定是不是最后一行
但是感觉这样 会不会也有问题
所以这个应该还要加上更多的判定
SO。。。

论坛徽章:
0
2 [报告]
发表于 2015-09-13 16:49 |只看该作者
在最后一次调用isallline 后就卡住了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP