Chinaunix

标题: awk读取输出文件? [打印本页]

作者: qq3138298    时间: 2012-03-06 08:52
标题: awk读取输出文件?
通过FTP下载了一个文件在本地,文件名为  test.txt 。
里面数据格式为:(中间三行为无效的数据行)

id          name          time                      desc
1           jack            20120306000000  abcdee
1           rose            20120306000000  abcdes
1           jac2            20120306000000  abcdeaaa
1           jacs            20120306000000  abcdefx
1           jacb            20120306151200  abcdecvxcb
sdfsfsfsdfsd

gfdcb aaa   dfsdf
1           jack            20120306000000  abcde
1           jace            20120306000000  abcde
  


请问一下怎么解析test.txt文件删除其中的无效数据行并且输出到另一个文件test2.txt?
目标格式为:
name,time
jack,20120306000000
rose,20120306000000
jac2,20120306000000
.....
jace,20120306000000


请大神们帮帮忙。。诚谢。!!!
作者: zhaopingzi    时间: 2012-03-06 09:00
本帖最后由 zhaopingzi 于 2012-03-06 09:11 编辑

awk 'NF!=4'
awk  '{if(NF==4)print $2,$3}'
作者: qq3138298    时间: 2012-03-06 09:11
zhaopingzi 发表于 2012-03-06 09:00
awk 'NF!=4'



大哥 能写具体一点吗、、、 我是新手。。。
作者: qq3138298    时间: 2012-03-06 09:29
  1. awk '{NF>0 print $1,$2}' $filename >> $intentfile
复制代码

作者: denifears    时间: 2012-03-06 09:38
  1. awk 'OFS="," {print $2,$3}' test.txt
复制代码

作者: yangkyo821    时间: 2012-03-06 11:00
  1. awk 'NF==4{print $2","$3 > "test2.txt"}' test.txt
复制代码

作者: qq3138298    时间: 2012-03-06 11:29
谢谢各位啦。。。 我用正则解决了。。 嘿嘿

awk 'BEGIN{OFS=",";} /[0-9][0-9][0-9][0-9]-[0-9][0-9]/{print $1 $2,$3}' $filename >> $outfile
作者: zooyo    时间: 2012-03-06 21:39
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2