[问题] 请教一下awk的问题...

楼主: nashsai (纳许赛)   2014-05-14 20:40:37
Hi 小弟初碰awk 想问一些问题
我有一个log长这样
时间 USER 行为 档案路径 档案大小 速度
16:40 aaa download /abc/a.txt 0 0
我现在用awk 只想要时间 行为 档案路径 档案大小
awk '{print $1 $3 $4 $5}'
但是我发现档案路径中如果有空格....就会乱掉
因每一个档案路径也不太相同 目前还没想 到用什么方法来达成
想请问各位有什么方法吗?
作者: bitlife (BIT一生)   2014-05-14 20:48:00
假设不限awk,用支援()的正规式是可以做到,或写个c(or php)程式去剖析也是办法
作者: rickieyang (Rickie Yang)   2014-05-14 20:53:00
换个角度想,把第二跟最后一个参数去掉
作者: tomdean   2014-05-14 22:17:00
中间是tab还是空白分隔?试试FS设成tab就好
作者: prismwu   2014-05-14 23:47:00
硬干 awk '{printf $1 " ";for(i=3;i<NF-1;i++)printf $i " ";print $i}'
作者: alog (A肉哥)   2014-05-15 04:32:00
用golang写一个parseror python对于有多变的资料有我宁可花点时间写 也不太想用shell解这问题http://stackoverflow.com/questions/5536018/how-to-get-match-regex-pattern-using-awk-from-file狂热者玩法
作者: Elfiend (小孩)   2014-05-15 10:34:00
先用sed把档案的空白取代掉,再用awk印?最后用sed再换回
作者: carrlyea   2014-05-16 16:27:00
awk '{ $2=""; $NF=""; print $0 }'
作者: jokester (蛮王科科)   2014-05-16 16:34:00
awk好难..

Links booklink

Contact Us: admin [ a t ] ucptt.com