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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1449 | 回復(fù): 9
打印 上一主題 下一主題

[文本處理] 根據(jù)配置文件進(jìn)行文本處理添加空行。 [復(fù)制鏈接]

論壇徽章:
1
白羊座
日期:2014-11-13 10:19:16
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-09-25 11:43 |只看該作者 |倒序瀏覽
本帖最后由 iocg 于 2014-09-25 14:17 編輯

我想將5個文件(a.txt  b.txt  c.txt  d.txt  e.txt)根據(jù)我的配置文件信息,添加空行。

設(shè)配置文本:setting.txt
  1. a|80        b|60        c|30        d|100        e|75
復(fù)制代碼
用tab鍵隔開

根據(jù)setting的配置信息,將對應(yīng)文本添加空行。。
例如:
a|80   代表處理后a.txt中內(nèi)容行占80%。。即  添加的空行 : 內(nèi)容行 == 20 : 80
b|60   代表處理后b.txt中內(nèi)容行占60%。。即  添加的空行 : 內(nèi)容行 == 40 : 60
c|30   代表處理后c.txt中內(nèi)容行占30%。。即  添加的空行 : 內(nèi)容行 == 70 : 30
...

假設(shè)b文本:
  1. iocg 1111
  2. iocg 2222
  3. iocg 3333
  4. iocg 4444
  5. iocg 5555
  6. iocg 6666
  7. iocg 7777
  8. iocg 8888
  9. iocg 9999
  10. iocg 0000
復(fù)制代碼
根據(jù)b|60  添加 10/0.6*(1-0.6)=6行的空行在原文本的結(jié)尾。。
  1. iocg 1111
  2. iocg 2222
  3. iocg 3333
  4. iocg 4444
  5. iocg 5555
  6. iocg 6666
  7. iocg 7777
  8. iocg 8888
  9. iocg 9999
  10. iocg 0000
  11. .
  12. .
  13. .
  14. .
  15. .
  16. .
復(fù)制代碼
.表示空格

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
2 [報告]
發(fā)表于 2014-09-25 11:58 |只看該作者
空行加在哪呢?首行前還是末行后?

論壇徽章:
23
15-16賽季CBA聯(lián)賽之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午馬
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16賽季CBA聯(lián)賽之山東
日期:2017-12-21 16:39:1915-16賽季CBA聯(lián)賽之廣東
日期:2016-01-19 13:33:372015亞冠之山東魯能
日期:2015-10-13 09:39:062015亞冠之西悉尼流浪者
日期:2015-09-21 08:27:57
3 [報告]
發(fā)表于 2014-09-25 12:01 |只看該作者
回復(fù) 2# yestreenstars


目測要動態(tài)分配,根據(jù)文件的行數(shù)來決定空行的數(shù)量,及每行內(nèi)容的間距。

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
4 [報告]
發(fā)表于 2014-09-25 12:03 |只看該作者
回復(fù) 3# ly5066113

Tim兄最近是愛上目測啊,這是要搶我和@關(guān)陰月飛PF的飯碗啊~
   

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
5 [報告]
發(fā)表于 2014-09-25 12:03 |只看該作者
本帖最后由 yestreenstars 于 2014-09-25 12:03 編輯

回復(fù) 3# ly5066113

重復(fù)發(fā)了,請忽略~
   

論壇徽章:
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
6 [報告]
發(fā)表于 2014-09-25 12:53 |只看該作者
回復(fù) 1# iocg

不光光是添加吧?還有刪除原文件中的空行?
比如你給的哪個數(shù)據(jù)100%,若原文件有空行要刪嗎?

論壇徽章:
1
白羊座
日期:2014-11-13 10:19:16
7 [報告]
發(fā)表于 2014-09-25 14:05 |只看該作者
本帖最后由 iocg 于 2014-09-25 14:25 編輯

回復(fù) 6# Herowinter


    額...其實是這樣的。原本的的空行已經(jīng)先 sed -i '/^$/d' file去掉了。

    要添加的空行直接加到文本的后面就可以哈。。
    100%的話,原文本不加空行~~~

論壇徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
8 [報告]
發(fā)表于 2014-09-25 14:46 |只看該作者
本帖最后由 bulletmarquis 于 2014-09-25 14:59 編輯

回復(fù) 1# iocg
  1. awk -vRS='[\t|]' '{fn=$0".txt";getline;l1=$0;if($0<100){_cmd_="sed -n $= "fn;_cmd_|getline l2;close(_cmd_);l3=int(l2*(100-$0)/$0);_cmd_="yes \"\"|head -"l3" >>"fn;_cmd_|getline;close(_cmd_)}}' file
復(fù)制代碼
最后一個配置項讀取會有問題,之前的文件處理測試都是可以的



修改了一下處理方式,下面這個可以實現(xiàn)LZ要求
  1. awk -vRS='\t' -vFS='|' '{fn=$1".txt";if($2<100){_cmd_="sed -n $= "fn;_cmd_|getline l2;close(_cmd_);l3=int(l2*(100-$2)/$2);_cmd_="yes \"\"|head -"l3" >>"fn;print _cmd_}}' file
復(fù)制代碼

論壇徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
9 [報告]
發(fā)表于 2014-09-25 14:51 |只看該作者
@ly5066113@yestreenstars@Herowinter

煩勞大神指點一下,我拿LZ的例子寫個配置文件abc
  1. cat abc
  2. a|80    b|60    c|30    d|100   e|75
復(fù)制代碼
中間是以TAB間分隔,為何用getline的時候,最后一個變量讀不對。
  1. awk -vRS='[\t|\n]' '{fn=$0;getline l1;print fn,l1}' abc
  2. a 80
  3. b 60
  4. c 30
  5. d 100
  6. e 100
復(fù)制代碼

論壇徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
10 [報告]
發(fā)表于 2014-09-25 16:18 |只看該作者
回復(fù) 9# bulletmarquis


    大神們都不鳥我

    繼續(xù)召喚
@Shell_HAT  @blackold
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP