[問題] 請教一下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