免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: asplinux
打印 上一主题 下一主题

又遇到awk问题(结帖) [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-02-16 11:32 |只看该作者
回复 9# blackold


    上传了,在10楼,确实上传文件更能说明问题,谢谢提醒

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
12 [报告]
发表于 2012-02-16 11:32 |只看该作者
回复 10# asplinux


    是要你的文件啊,你不是说测试的结果不对吗?
awk -f tt checkbook

把你测试用的文件 tt 和 checkbook 附上。

附件里只有 checkbook,确认是 dos 格式, 把它改为 unix 格式,结果就应该对了。

论坛徽章:
0
13 [报告]
发表于 2012-02-16 11:38 |只看该作者
回复 12# blackold


    tt文件也上传了,怎么判断是dos文件还是unix下文件呢,是不是根据unix下的换行是‘\n’而dos文件是\r\n呢?若是又怎么知道换行是\n还是\r\n ?或者是根据编码?那有怎么知道是哪种编码呢

tt.tar

10 KB, 下载次数: 3

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
14 [报告]
发表于 2012-02-16 11:43 |只看该作者
本帖最后由 blackold 于 2012-02-16 11:45 编辑

回复 13# asplinux

只修改了文件格式。

  1. $ file tt checkbook
  2. tt:        awk script, ASCII text
  3. checkbook: ASCII text


  4. $ awk -f tt checkbook
  5. 1 1/1/04 #125 -695.00 Mortgage

  6. 2 1/1/04 #126 -56.89 PG&E

  7. 3 1/2/04 #127 -89.99 Safeway

  8. 4 1/3/04 +750.00 Pay Check

  9. 5 1/4/04 #128 -60.00 Visa
复制代码
用命令或者编辑器查看/修改。

论坛徽章:
0
15 [报告]
发表于 2012-02-16 15:20 |只看该作者
如果这样的数据有一万条呢? print不会一直写下去吧。
循环的写法:
cat book.txt |tr '\n' ' ' | awk -F'  ' '{for ( i=1;i<=NF;i++) print $i;'\n'}' | awk '{print NR,$0}'   
求精简!

论坛徽章:
0
16 [报告]
发表于 2012-02-22 19:25 |只看该作者
  1. awk  -vFS="\n" -vRS=""  '{print $1,$2,$3,$4}' file
复制代码

论坛徽章:
0
17 [报告]
发表于 2012-02-22 20:04 |只看该作者
本帖最后由 jiejie455 于 2012-02-22 20:16 编辑
  1. sed ':a N;$bc;/\n$/!ba;:c s/\n/ /g' data |sed '='|sed 'N;s/\n/ /'
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP