亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: awk分隔符為空格,但是特殊字符內的空格不解析,能做到嗎? [打印本頁]

作者: easyjoy2013    時間: 2014-01-02 20:28
標題: awk分隔符為空格,但是特殊字符內的空格不解析,能做到嗎?
RT

[]和""內的空格不作為分隔符解析,其余數據間分隔符為空格

結果數據:去掉數據中的雙引號,其余|分隔,按原樣輸出。

例如:

10.127.0.1 - - [01/01/2001:00:00:01 +0800] /a?m=123&k=456 "300" 12 "abd/1.0 (q; i 1.0 b t)  3.0"


結果:

10.127.0.1|-|-| [01/01/2001:00:00:01 +0800]|/a?m=123&k=456|300|12|abd/1.0 (q; i 1.0 b t ) 3.0


作者: TasteOracle    時間: 2014-01-02 21:02
  1. awk -F'\"' '{T=$1$2$3;gsub(/ /,"|",T);sub(/\|\+/," +",T);print T $4}'
復制代碼

作者: yinyuemi    時間: 2014-01-02 21:49
回復 1# easyjoy2013
  1. awk -vRS='(\\[[^]]+\\])|("[^"]+")' -F'\n' '{gsub(/ /,"|");printf $0 gensub(/[]"[]/,"","g",RT)}'
復制代碼

作者: yestreenstars    時間: 2014-01-03 00:21
  1. awk -vRS='[]"[]' 'RT=="["||/^ /{gsub(" ","|")}{ORS=RT~/[][]/?RT:""}1'
復制代碼

作者: yestreenstars    時間: 2014-01-03 00:23
回復 2# TasteOracle
投機取巧啊~

   
作者: yestreenstars    時間: 2014-01-03 00:25
本帖最后由 yestreenstars 于 2014-01-03 00:34 編輯

回復 3# yinyuemi
他要求保留中括號,另外-F'\n'可以省略~
  1. awk -vRS='(\\[[^]]+\\])|("[^"]+")' '{gsub(" ","|");printf $0 gensub(/"/,"","g",RT)}'
復制代碼

作者: yinyuemi    時間: 2014-01-03 08:36
回復 6# yestreenstars


    3ks for the debug
作者: easyjoy2013    時間: 2014-01-03 09:30
多謝啦!

回復 4# yestreenstars


   
作者: rulebook    時間: 2014-01-03 09:39
awk -vRS='[]"[]' 'NR%2==1{gsub(/ /,"|")}{gsub("\"","",RT);printf $0 RT}' o
作者: WilliBhamlll    時間: 2014-01-03 11:28
本帖最后由 WilliBhamlll 于 2014-01-03 11:29 編輯
  1. awk -vRS=' ' -vORS="|" '/^\[|"/{ORS=" "}/]|\"$/{ORS="|"}{gsub(/"/,"")}1'
復制代碼





歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2