免费注册 查看新帖 |

Chinaunix

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

用AWK处理文本时,输出的文本字段无法用双引号分割 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-09 14:25 |只看该作者 |倒序浏览
$ cat file1
46012 DULANEY EVAN MOBILE AL
46013 DURHAM JEFF MOBILE AL
46015 STEEN BILL MOBILE AL

整理结果:
$ cat file2
"46012","DULANEY","EVAN","MOBILE","AL
"46013","DURHAM","JEFF","MOBILE","AL
"46015","STEEN","BILL","MOBILE","AL

有什么其他的方法?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-11-09 16:23 |只看该作者

用AWK处理文本时,输出的文本字段无法用双引号分割


  1. cat file|sed 's/ $//g;s/^/\"/g;s/ /\",\"/g'
  2. "46012","DULANEY","EVAN","MOBILE","AL
  3. "46013","DURHAM","JEFF","MOBILE","AL
  4. "46015","STEEN","BILL","MOBILE","AL
复制代码

论坛徽章:
0
3 [报告]
发表于 2004-11-09 17:05 |只看该作者

用AWK处理文本时,输出的文本字段无法用双引号分割

to 烈火:谢谢你!我上一个问题就是你解答的,我最近在作unix下业务系统文本文件转换到win下的文件,最终通过web浏览。以后还有请教的地方,请多指教

论坛徽章:
0
4 [报告]
发表于 2004-11-09 17:40 |只看该作者

用AWK处理文本时,输出的文本字段无法用双引号分割

在awk中遇到特殊字符需要打印时使用转义符\转义就可以了

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2004-11-09 19:33 |只看该作者

用AWK处理文本时,输出的文本字段无法用双引号分割

[quote]原帖由 "flsd"]to 烈火:谢谢你!我上一个问题就是你解答的,我最近在作unix下业务系统文本文件转换到win下的文件,最终通过web浏览。以后还有请教的地方,请多指教[/quote 发表:

呵呵,可惜我只用linux,所以,有些地方我知之甚少, 望我们共同进步~

论坛徽章:
0
6 [报告]
发表于 2004-11-10 09:22 |只看该作者

用AWK处理文本时,输出的文本字段无法用双引号分割

[quote]原帖由 "Oh~yeah"]在awk中遇到特殊字符需要打印时使用转义符\转义就可以了[/quote 发表:

我今天试了一下打印转义字符\, 用print可以实现,用printf()函数就不能实现

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2004-11-10 10:58 |只看该作者

用AWK处理文本时,输出的文本字段无法用双引号分割

这样可以吗?
/home/lee#awk 'BEGIN{printf "%s\n","\\"}'
\
/home/lee#printf "%s\n" '\'
\

论坛徽章:
0
8 [报告]
发表于 2004-11-10 15:42 |只看该作者

用AWK处理文本时,输出的文本字段无法用双引号分割

原始文本文件:
$ cat file1
&L
ITM1=XX1
ITM2=XX2
DATA1=ZZ1
DATA2=ZZ2
DATA3=ZZ3
DATA4=ZZ4
DATA5=ZZ5
DATA6=ZZ6
&L LINE
ITM1=XX1
ITM2=XX2
DATA1=ZZ1
DATA2=ZZ2
DATA3=ZZ3
DATA4=ZZ4
DATA5=ZZ5
DATA6=ZZ6

整理后的结果:
$ cat file2

"XX1","XX2","ZZ1","ZZ2","ZZ3","ZZ4","ZZ5","ZZ6"

"XX1","XX2","ZZ1","ZZ2","ZZ3","ZZ4","ZZ5","ZZ6"

经过以上各位高手的指点,问题已经解决

论坛徽章:
0
9 [报告]
发表于 2004-11-10 17:06 |只看该作者

用AWK处理文本时,输出的文本字段无法用双引号分割

AWK与SED联合使用

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
10 [报告]
发表于 2004-11-10 17:25 |只看该作者

用AWK处理文本时,输出的文本字段无法用双引号分割

  1. cat file|grep -v '^&'|cut -f2 -d'='|xargs -n8|sed 's/^/\"/;s/ /\",\"/g;s/$/\"/'
复制代码

test:
"XX1","XX2","ZZ1","ZZ2","ZZ3","ZZ4","ZZ5","ZZ6"
"XX1","XX2","ZZ1","ZZ2","ZZ3","ZZ4","ZZ5","ZZ6"
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP