免费注册 查看新帖 |

Chinaunix

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

[文本处理] echo文本一行最后一个字段时字符替换问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-10-26 19:22 |只看该作者 |倒序浏览
  1. [root@etl001 tmp]# head -5 CC_20151023.csv.tmp
  2. ANI_ADDRESS,1,ID,NUMBER,22
  3. ANI_ADDRESS,2,CODE,VARCHAR2,100
  4. ANI_ADDRESS,3,VALUE,VARCHAR2,200
  5. CIF_BRANCH,1,ID,NUMBER,22
  6. CIF_BRANCH,2,NAME,VARCHAR2,200
  7. [root@etl001 tmp]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $5}'`
  8. 22
  9. [root@etl001 tmp]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $5}'`6
  10. 62
  11. [root@etl001 tmp]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $4}'`
  12. NUMBER
  13. [root@etl001 tmp]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $4}'`2
  14. NUMBER2
  15. [root@etl001 tmp]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $5}'`test
  16. test
复制代码
如上面所示,在输出第一行的最后一个字段时,后面若拼接字符串,则会把前面的替换掉,而其他字段则没有这个问题,好奇怪啊,这是为什么呢?求高手指教

论坛徽章:
22
处女座
日期:2014-10-11 13:33:292015亚冠之塔什干火车头
日期:2015-07-20 19:59:042015亚冠之塔什干火车头
日期:2015-07-26 10:59:31程序设计版块每日发帖之星
日期:2015-08-05 06:20:00每日论坛发贴之星
日期:2015-08-05 06:20:00程序设计版块每日发帖之星
日期:2015-08-07 06:20:00每日论坛发贴之星
日期:2015-08-07 06:20:002015亚冠之阿尔纳斯尔
日期:2015-10-01 15:23:28白银圣斗士
日期:2015-12-07 17:17:06操作系统版块每日发帖之星
日期:2015-12-27 06:20:002015亚冠之广州富力
日期:2015-07-08 15:48:31程序设计版块每日发帖之星
日期:2015-06-11 22:20:00
2 [报告]
发表于 2015-10-26 19:37 |只看该作者
[root@www test]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $5}'`
22
[root@www test]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $5}'`6
226
[root@www test]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $4}'`
NUMBER
[root@www test]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $4}'`2
NUMBER2
[root@www test]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $5}'`test
22test
[root@www test]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $5}'`
22
[root@www test]# echo `head -1 CC_20151023.csv.tmp|awk -F "," '{print $5}'`test
22test

和你的结果不一样,都是直接拼在最后面

论坛徽章:
0
3 [报告]
发表于 2015-10-26 19:40 |只看该作者
回复 2# 聆雨淋夜
难道是我的文件有问题,源文件是从windows下生成的然后上传到linux下面的,直接cat文件内容也看不出来每一行的最后有什么?有什么好的办法找到原因吗?


   

论坛徽章:
0
4 [报告]
发表于 2015-10-26 19:42 |只看该作者
  1. [root@etl001 tmp]# file CC_20151023.csv.tmp
  2. CC_20151023.csv.tmp: ASCII text, with CRLF line terminators
  3. [root@etl001 tmp]# head -10 CC_20151023.csv.tmp
  4. ANI_ADDRESS,1,ID,NUMBER,22
  5. ANI_ADDRESS,2,CODE,VARCHAR2,100
  6. ANI_ADDRESS,3,VALUE,VARCHAR2,200
  7. CIF_BRANCH,1,ID,NUMBER,22
  8. CIF_BRANCH,2,NAME,VARCHAR2,200
  9. CIF_BRANCH,3,CITY,VARCHAR2,100
  10. CIF_BRANCH,4,ADDRESS,VARCHAR2,200
  11. CIF_BRANCH,5,TEL,VARCHAR2,50
  12. CIF_BRANCH,6,BUS,VARCHAR2,200
  13. CIF_BRANCH,7,BUILDING,VARCHAR2,200
复制代码
这是文件的一些内容和格式,看不出来问题在哪儿啊

论坛徽章:
22
处女座
日期:2014-10-11 13:33:292015亚冠之塔什干火车头
日期:2015-07-20 19:59:042015亚冠之塔什干火车头
日期:2015-07-26 10:59:31程序设计版块每日发帖之星
日期:2015-08-05 06:20:00每日论坛发贴之星
日期:2015-08-05 06:20:00程序设计版块每日发帖之星
日期:2015-08-07 06:20:00每日论坛发贴之星
日期:2015-08-07 06:20:002015亚冠之阿尔纳斯尔
日期:2015-10-01 15:23:28白银圣斗士
日期:2015-12-07 17:17:06操作系统版块每日发帖之星
日期:2015-12-27 06:20:002015亚冠之广州富力
日期:2015-07-08 15:48:31程序设计版块每日发帖之星
日期:2015-06-11 22:20:00
5 [报告]
发表于 2015-10-26 19:51 |只看该作者
回复 3# shitou773
cat -A filename看看,如果最后有^M    使用dos2unix  filename


   

论坛徽章:
0
6 [报告]
发表于 2015-10-26 19:55 |只看该作者
回复 5# 聆雨淋夜
  1. USA_SAFE_TEMPLET,12,UPDATE_DATE,DATE,7^M$
  2. USA_SAFE_TEMPLET,13,VERSION,NUMBER,22^M$
  3. USA_SAFE_TEMPLET,14,CODE,VARCHAR2,50^M$
  4. USA_SAFE_TEMPLET,15,TRANS_PASSWORD_SIGN,VARCHAR2,4^M$
  5. USA_SAFE_TEMPLET,16,TOKEN_SIGN,VARCHAR2,4^M$
  6. USA_SAFE_TEMPLET,17,OPERATION_TYPE,VARCHAR2,4^M$
  7. USA_SAFE_TEMPLET,18,USA_CALLTYPE,VARCHAR2,4^M$
  8. USA_SAFE_TEMPLET,19,USA_SPECIAL_TYPE,VARCHAR2,4^M$
  9. USA_TEMPLET_RELATION,1,TEMPLET_ID,NUMBER,22^M$
  10. USA_TEMPLET_RELATION,2,QUESTION_BANK_ID,NUMBER,22^M$
复制代码
还真是文件格式的问题,谢谢你了啊


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP