免费注册 查看新帖 |

Chinaunix

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

文本编辑的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-22 18:01 |只看该作者 |正序浏览
有如下一个文本:
  
长城电子借记卡60138200
长城信用卡8
龙卡储蓄卡436742
VISA准贷记卡453242
VISA准贷记金卡491031
MASTER准贷记卡53242
MASTER准贷记金卡544033
龙卡信用卡5453242
龙卡信用卡5491031
龙卡信用卡553242
龙卡信用卡5544033
太平洋互连卡405512
太平洋信用卡49104
太平洋信用卡53783
太平洋万事顺卡601428
……………………

共200多行,为了装进数据库,想做成如下形式:

940053|4|4000|抚顺商行绿叶卡|0|0||
60|4|4000|邮政储汇局绿卡|0|0||
955100|4|4000|邮政储汇局绿卡|0|0||
427010|4|4000|邮政储汇局绿卡|0|0||

象|4|4000|和|0|0||等都是固定的,就是第一个域和汉字那个域不同,该怎么做?注意原文本两个域是反的。谢谢各位高手!

论坛徽章:
0
22 [报告]
发表于 2003-07-23 17:07 |只看该作者

文本编辑的问题

[quote]原帖由 "sherwinshan"]:\2\|4\|4000\|\1\|0\|0\|\|:' yourfile[/quote 发表:
     
意思都差不多嘛,也不错
sherwinshan 该用户已被删除
21 [报告]
发表于 2003-07-23 16:49 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
20 [报告]
发表于 2003-07-23 15:50 |只看该作者

文本编辑的问题

谢谢谢谢,终于搞懂了,其实用&就行了,你那个\1看的我头大

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
19 [报告]
发表于 2003-07-23 10:20 |只看该作者

文本编辑的问题

原帖由 "gfder" 发表:
  
老大好强!!!

基本正确了!只差一个|

能不能解释一下?


输出语句的最后少加了一个“|”,实际使用时补上就好了!
代码还可以进一步简化:
  1. cat  file|sed 's/^\([^0-9]\{1,\}\)/\1|/'|awk -F"|" '{printf"%s|4|4000|%s|0|0||\n",$2,$1}'  
  2. 测试:
  3. 60138200|4|4000|长城电子借记卡|0|0||
  4. 8|4|4000|长城信用卡|0|0||
  5. 436742|4|4000|龙卡储蓄卡|0|0||
  6. 453242|4|4000|VISA准贷记卡|0|0||
  7. 491031|4|4000|VISA准贷记金卡|0|0||
  8. 53242|4|4000|MASTER准贷记卡|0|0||
  9. 544033|4|4000|MASTER准贷记金卡|0|0||
  10. 5453242|4|4000|龙卡信用卡|0|0||
  11. 5491031|4|4000|龙卡信用卡|0|0||
  12. 553242|4|4000|龙卡信用卡|0|0||
  13. 5544033|4|4000|龙卡信用卡|0|0||
  14. 405512|4|4000|太平洋互连卡|0|0||
  15. 49104|4|4000|太平洋信用卡|0|0||
  16. 53783|4|4000|太平洋信用卡|0|0||
  17. 601428|4|4000|太平洋万事顺卡|0|0||
复制代码

论坛徽章:
0
18 [报告]
发表于 2003-07-23 09:30 |只看该作者

文本编辑的问题

for i in `cat file | sed 's/卡/&  /g'`
do
echo "`echo $i | cut -d \" \" -f2`|4|4000|`echo $i | cut -d \" \" -f1`|0|0||" >> newfile
done

那这样呢?

论坛徽章:
0
17 [报告]
发表于 2003-07-23 08:27 |只看该作者

文本编辑的问题

[quote]原帖由 "admirer"][/quote 发表:
   
老大好强!!!

基本正确了!只差一个|

能不能解释一下?

论坛徽章:
0
16 [报告]
发表于 2003-07-23 07:55 |只看该作者

文本编辑的问题

原帖由 "gfder" 发表:
有如下一个文本:
  
长城电子借记卡60138200
长城信用卡8
龙卡储蓄卡436742
VISA准贷记卡453242
VISA准贷记金卡491031
MASTER准贷记卡53242
MASTER准贷记金卡544033
龙卡信用卡5453242
龙卡信用卡5491031..........
   
不明白输入和输出有什么联系~~请把你的意思说明白,把例子写清楚~~

论坛徽章:
0
15 [报告]
发表于 2003-07-23 07:22 |只看该作者

文本编辑的问题

[quote]原帖由 "bf1720"]不用客气呀!!!你是建行的吗?我以前也是呀,不过现在已经不在建行了[/quote 发表:
     

的确是建行的,老大是?

论坛徽章:
0
14 [报告]
发表于 2003-07-22 22:09 |只看该作者

文本编辑的问题

使用cut  命令看看
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP