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

Chinaunix

標(biāo)題: 文本處理來個難得,請大神幫忙。。! [打印本頁]

作者: 啵啵油菜    時間: 2014-10-22 15:13
標(biāo)題: 文本處理來個難得,請大神幫忙。。!
文件是以\007 作為列分割符 以\n 作為行分隔符  
每行數(shù)據(jù)以U、I、D作為行開頭,如果不是以這3個字符為開頭 則需要將\n 替換成空。
小弟是解決不了了。


請大神幫忙  ,下面是測試數(shù)據(jù) 1413253245108.txt.rar (247.8 KB, 下載次數(shù): 9)




作者: jils2013    時間: 2014-10-22 15:27
文本里本身有很多\N,你說的\n是回車符還是文本里\N,很混亂啊,另外也完全看不到你指定列分隔符的用處
作者: 啵啵油菜    時間: 2014-10-22 15:38
應(yīng)該是以\n作為行分隔符的 每行以U、I、D作為行開頭,如果不是以這三個字符開頭 就不應(yīng)該是一行 就一改把它前面的 \n 給刪除掉,是比較費勁的。
作者: 啵啵油菜    時間: 2014-10-22 15:38

應(yīng)該是以\n作為行分隔符的 每行以U、I、D作為行開頭,如果不是以這三個字符開頭 就不應(yīng)該是一行 就一改把它前面的 \n 給刪除掉,是比較費勁的。回復(fù) 2# jils2013


   
作者: jils2013    時間: 2014-10-22 15:40
本帖最后由 jils2013 于 2014-10-22 15:41 編輯

回復(fù) 3# 啵啵油菜


    比如
  1. U@655050403@ff80808148c4bdf30148e81097032327@ff80808148c4bdf30148e81097032327@1465280259@\N@2014-10-07 08:44:34@ff80808148c4b6c50148e395b7214e8b@ff80808148c4b6c50148e395b7214e8c@\N@ff808081197564a801197f96272375fd@ff808081153f9bab01154509c12c4ffe@ff8080814909bd5d01490c4b1145404f@0@ff8080813b92ccc0013bbb9b42de6a74@2@CHINAPOSTAIR@yes@0@0@2014-10-14 09:34:46@2014-10-07 08:45:16@0@2014-10-07 08:45:25@102006@2014-10-14 09:34:46@103100@2014-10-08 18:07:55@\N@\N@\N@190.163.140.16@0@0@0@20.25@2014-10-10 08:45:25@0@0@0@\N@\N@\N@\N@F007_G3@\N@\N@\N@102006@10001@\N@0@0@0@0@0@0@0@0@20.25@0@0@811624205221360
  2. mp1688@\N@0@\N@0@0@\N@\N@dh@commissionCV2@\N@\N@\N@\N@\N@0@1@2014-10-14 09:34:46@2@\N@0@\N@0@\N@0@0@0@0@0@0@0@2@ff80808148c4bdf30148e8109707232c@2014-10-07 08:45:16@\N@0@1@0@0@0@0@0@\N@\N@\N@0@\N@9@0@en
復(fù)制代碼
這兩行你具體想要啥輸出?我把007替成@了
作者: ly5066113    時間: 2014-10-22 15:46
回復(fù) 1# 啵啵油菜


try:
  1. sed ':a;N;/\n[UID]/!s/\n/ /;ta;P;D' file
復(fù)制代碼

作者: 啵啵油菜    時間: 2014-10-22 15:46
輸出一行,每行必須以那三個字符為行開頭,如果不是要將\n 去掉回復(fù) 5# jils2013


   
作者: 啵啵油菜    時間: 2014-10-22 15:50
大神  沒看到在哪里 處理U,D,I啊回復(fù) 6# ly5066113


   
作者: jils2013    時間: 2014-10-22 15:50
ly5066113 發(fā)表于 2014-10-22 15:46
回復(fù) 1# 啵啵油菜
我猜的就是這種需求,不過完全看不到指定列分隔符的必要啊?
作者: jils2013    時間: 2014-10-22 15:51
回復(fù) 8# 啵啵油菜


    ...[UID]...
作者: ly5066113    時間: 2014-10-22 15:52
回復(fù) 9# jils2013


列分隔符本來就沒用,樓主的需求其實就一句話:

非 U、I、D 開頭的行合并到上一行。
作者: 啵啵油菜    時間: 2014-10-22 15:55
大神,我試了一下子。貌似可行。 ,能否加個qq,交個朋友。!回復(fù) 10# jils2013


   
作者: 啵啵油菜    時間: 2014-10-22 15:58
在后面要對數(shù)據(jù)入到hive中,hive目前的我們用的版本 只支持\n 換行。列分割也是用用的。多謝了 伙計回復(fù) 9# jils2013


   
作者: jils2013    時間: 2014-10-22 16:06
  1. awk 'BEGIN{FS="\007"}/^[UID]/{print p;p=$0;next}{p=p$0}END{print p}'
復(fù)制代碼
awk,送個分隔符,不過,現(xiàn)有的需求,完全看不到awk/列分隔符有啥用,換成shell一樣的邏輯也可以寫
作者: jils2013    時間: 2014-10-22 16:16
回復(fù) 13# 啵啵油菜


    sed的那個不是我搞的,我只是路過搶答的
作者: 啵啵油菜    時間: 2014-10-24 10:41
回復(fù) 11# ly5066113


   




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