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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
123
最近訪問板塊 發(fā)新帖
樓主: bt21cnzy21st
打印 上一主題 下一主題

[文本處理] shell文本替換問題,歡迎應戰(zhàn) [復制鏈接]

論壇徽章:
1
程序設計版塊每日發(fā)帖之星
日期:2015-09-03 06:20:00
21 [報告]
發(fā)表于 2015-08-31 21:16 |只看該作者
大蝦, 這個腳本針對特定的這個能轉換,但我多復制幾個cbax ,cco1就不行了啊, 測試文本如下,我的實際情況是文件中有很多cbax 和cc01標識,也有可能有其他標識,這里我只是把問題簡化了

(1,1,{1,1,cco1{-1,0, -1,1438081612000,70, 0, 0},cbax[{"OnPeakAccountID", 1800, 997699, 1970-01-01 07:00:00, 0}, {"FreeUnits", 1800, 997699, 1970-01-01 07:00:00, 0}],cbax[{"OnPeakAccountID", 1800, 997699, 1970-01-01 07:00:00, 0}, {"FreeUnits", 1800, 997699, 1970-01-01 07:00:00, 0}],cco1{-1,0, -1,1438081612000,70, 0, 0}})

回復 19# Herowinter


   

論壇徽章:
1
程序設計版塊每日發(fā)帖之星
日期:2015-09-03 06:20:00
22 [報告]
發(fā)表于 2015-08-31 21:26 |只看該作者
華麗的分割線。。。。。。。。。。。。。

論壇徽章:
95
程序設計版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設計版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農
日期:2015-10-19 19:43:35程序設計版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
23 [報告]
發(fā)表于 2015-08-31 22:17 |只看該作者
回復 21# bt21cnzy21st


    直接把你的真實數(shù)據(jù)拿出來吧,像這樣擠牙膏似的一會一改需求算是怎么回事?

論壇徽章:
145
技術圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
24 [報告]
發(fā)表于 2015-08-31 22:45 |只看該作者
本帖最后由 jason680 于 2015-08-31 22:45 編輯

回復 9# bt21cnzy21st

看起來是一樣的問題...
解決方法也一樣...

$ perl -pe '{s/cco1[{](.+?)[}]/$x=$1;$x=~y:,:|:;"cco1($x)"/ge;s/cbax\[(.+?)\]/$x=$1;$x=~y:{,}:(|):;"cbax[$x]"/ge}' FILE
(1,1,{1,1,cco1(-1|0| -1|1438081612000|70| 0| 0),cbax[("OnPeakAccountID"| 1800| 997699| 1970-01-01 07:00:00| 0)| ("FreeUnits"| 1800| 997699| 1970-01-01 07:00:00| 0)]})

$ perl -pe '{s/cco1[{](.+?)[}]/$x=$1;$x=~y:,:|:;"cco1($x)"/ge;s/cbax\[(.+?)\]/$x=$1;$x=~y:{,}:(|):;"cbax[$x]"/ge}' FILEx
(1,1,{1,1,cco1(-1|0| -1|1438081612000|70| 0| 0),cbax[("OnPeakAccountID"| 1800| 997699| 1970-01-01 07:00:00| 0)| ("FreeUnits"| 1800| 997699| 1970-01-01 07:00:00| 0)],cbax[("OnPeakAccountID"| 1800| 997699| 1970-01-01 07:00:00| 0)| ("FreeUnits"| 1800| 997699| 1970-01-01 07:00:00| 0)],cco1(-1|0| -1|1438081612000|70| 0| 0)})

   

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
25 [報告]
發(fā)表于 2015-08-31 23:01 |只看該作者
回復 21# bt21cnzy21st


希望這次可以了。。。

  1. awk '{while(match($0,/cco1\{[^}]*\}/) || match($0,/cbax\[\{[^]]*\]/)){s1=substr($0,1,RSTART-1);s2=substr($0,RSTART,RLENGTH);s3=substr($0,RSTART+RLENGTH);gsub(/{/,"(",s2);gsub(/}/,")",s2);gsub(/,/,"|",s2);$0=s1""s2""s3}}1' urfile

  2. (1,1,{1,1,cco1(-1|0| -1|1438081612000|70| 0| 0),cbax[("OnPeakAccountID"| 1800| 997699| 1970-01-01 07:00:00| 0)| ("FreeUnits"| 1800| 997699| 1970-01-01 07:00:00| 0)],cbax[("OnPeakAccountID"| 1800| 997699| 1970-01-01 07:00:00| 0)| ("FreeUnits"| 1800| 997699| 1970-01-01 07:00:00| 0)],cco1(-1|0| -1|1438081612000|70| 0| 0)})
復制代碼

論壇徽章:
1
程序設計版塊每日發(fā)帖之星
日期:2015-09-03 06:20:00
26 [報告]
發(fā)表于 2015-08-31 23:07 |只看該作者
十分感謝jason680, 明天我打算做個整體的測試,我會反饋結果的。

回復 24# jason680


   

論壇徽章:
6
處女座
日期:2014-04-02 16:07:17酉雞
日期:2014-04-14 10:09:22子鼠
日期:2014-04-17 11:57:30辰龍
日期:2014-09-01 17:14:08戌狗
日期:2014-10-28 12:25:54未羊
日期:2014-11-14 11:31:58
27 [報告]
發(fā)表于 2015-09-01 18:32 |只看該作者
回復 12# bt21cnzy21st
  1. awk 'BEGIN{RS="cco1{[^}]+}|cbax[^]]+]"}{gsub(/,/,"|",RT);gsub(/{/,"(",RT);gsub(/}/,")",RT);print $0,RT}'|sed '{:1;N;$!b1; s/\n//g}'
復制代碼
try

論壇徽章:
1
程序設計版塊每日發(fā)帖之星
日期:2015-09-03 06:20:00
28 [報告]
發(fā)表于 2015-09-02 13:45 |只看該作者
感謝jason680 ,這個代碼是沒問題的,符合我的需求,而且很簡練,贊一個。
回復 24# jason680


   

論壇徽章:
1
程序設計版塊每日發(fā)帖之星
日期:2015-09-03 06:20:00
29 [報告]
發(fā)表于 2015-09-02 13:49 |只看該作者
經測試,你的代碼是正確的, 十分感謝。贊一個

回復 25# Herowinter


   

論壇徽章:
1
程序設計版塊每日發(fā)帖之星
日期:2015-09-03 06:20:00
30 [報告]
發(fā)表于 2015-09-02 13:53 |只看該作者
論壇有很多熱心的朋友,不同的朋友給出了不同的答案 ,感謝大家,這里氛圍很好,在此學到不少東西
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP