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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 3183 | 回復(fù): 18
打印 上一主題 下一主題

[文本處理] 關(guān)于文本處理問(wèn)題,菜鳥求助各位大神,謝謝! [復(fù)制鏈接]

論壇徽章:
3
2015亞冠之布里斯班獅吼
日期:2015-06-25 18:46:20程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2017-01-09 21:37:58
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-09-12 11:19 |只看該作者 |倒序?yàn)g覽
本帖最后由 tengfei0311 于 2015-09-12 14:35 編輯

從第13行開(kāi)始,對(duì)第1列的2.0000進(jìn)行相加,一直加到倒數(shù)第二行止,如果值等于150,就不管這個(gè)文件;如果值不等于150,就把最后一行2.0000改成5.0000,后面的值不變,把改后的5.0000這一行所有值復(fù)制在文件后面,復(fù)制到和為150止。

說(shuō)明:我的所有文件第一列值相加都不會(huì)超過(guò)150,一般在100以內(nèi)。

測(cè)試數(shù)據(jù)見(jiàn)附件:
11.zip (381 Bytes, 下載次數(shù): 9)


##########################################################
#############文件名:test.mod##################################
MODEL.01                                                               
Crust1.0                                                               
ISOTROPIC                                                               
KGS                                                                     
SPHERICAL EARTH                                                         
1-D                                                                     
CONSTANT VELOCITY                                                      
LINE08                                                                  
LINE09                                                                  
LINE10                                                                  
LINE11                                                                  
H(KM)   VP(KM/S) VS(KM/S) RHO(GM/CC)   QP   QS  ETAP  ETAS  FREFP  FREFS
2.0000 6.100 3.550 2.740 849.  600.  0.00  0.00  1.00  1.00     ###(第13行)###
2.0000 6.100 3.550 2.740 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.100 3.550 2.740 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.100 3.550 2.740 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.100 3.550 2.740 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.100 3.550 2.740 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.100 3.550 2.740 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.100 3.550 2.740 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 6.300 3.650 2.780 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00
2.0000 7.000 3.990 2.950 849.  600.  0.00  0.00  1.00  1.00   #####累加到這一行止######
2.0000  8.120 4.510 849.  600.  0.00  0.00  1.00  1.00         ————》第一列值累加達(dá)不到150,就要把這行改成:5.0000  8.120 4.510 849.  600.  0.00  0.00  1.00  1.00 之后復(fù)制到第一列和為150止

#######################################################


以上面這個(gè)文件為實(shí)例:

對(duì)第1列值,從13行起累加到倒數(shù)第二行,一共43行,那么值加起來(lái)86,不夠和為150;差150-86=64 那么就要把最后一行:
2.0000  8.120 4.510 849.  600.  0.00  0.00  1.00  1.00
改成:
5.0000  8.120 4.510 849.  600.  0.00  0.00  1.00  1.00   (第一列2.0000改成5.0000就行)

差64 就把改后的最后一行:5.0000  8.120 4.510 849.  600.  0.00  0.00  1.00  1.00(復(fù)制13行)  一共要復(fù)制13行放后面 結(jié)束!。


我這里有300多個(gè)這樣的文件,每個(gè)文件行數(shù)都不一樣。


謝謝。。。。。。。。。




論壇徽章:
95
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計(jì)版塊每日發(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程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀(jì)念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
2 [報(bào)告]
發(fā)表于 2015-09-12 14:21 |只看該作者
tengfei0311 發(fā)表于 2015-09-12 11:19
第一列值累加達(dá)不到150,就要把這行改成:5.0000  8.120 4.510 849.  600.  0.00  0.00  1.00  1.00 之后復(fù)制到第一列和為150止


如果超過(guò)了 150 呢?

論壇徽章:
3
2015亞冠之布里斯班獅吼
日期:2015-06-25 18:46:20程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2017-01-09 21:37:58
3 [報(bào)告]
發(fā)表于 2015-09-12 14:32 |只看該作者
回復(fù) 2# MMMIX

不會(huì)超過(guò)150  每個(gè)文件第一列的值加起來(lái)不會(huì)超過(guò)100的

   

論壇徽章:
95
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計(jì)版塊每日發(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程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀(jì)念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
4 [報(bào)告]
發(fā)表于 2015-09-12 14:55 |只看該作者
回復(fù) 3# tengfei0311


    那超過(guò)150就不做處理了:

#!/usr/bin/awk -f

{
    if (NR < 13) {
        print
    } else {
        total += p1
        p1 = $1

        if (length(pline) != 0)
            print pline
        pline = $0
    }
}

END {
    if (total >= 150) {
        print pline
    } else {
        sub(/[0-9.]+/, "5.0000", pline)
        n = int((150 - total) / 5)
        for (i = 0; i <= n; i++)
            print pline
    }
}

論壇徽章:
16
CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:3415-16賽季CBA聯(lián)賽之廣東
日期:2015-12-23 21:21:55青銅圣斗士
日期:2015-12-05 10:35:30黃金圣斗士
日期:2015-11-26 20:42:16神斗士
日期:2015-11-19 12:47:50每日論壇發(fā)貼之星
日期:2015-11-18 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-11-18 06:20:002015亞冠之城南
日期:2015-11-10 19:10:492015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-10-28 18:47:282015亞冠之柏太陽(yáng)神
日期:2015-08-30 17:21:492015亞冠之山東魯能
日期:2015-07-07 18:48:39摩羯座
日期:2014-08-29 23:01:42
5 [報(bào)告]
發(fā)表于 2015-09-12 15:33 |只看該作者
本帖最后由 tc1989tc 于 2015-09-12 15:34 編輯
  1. #!/bin/sh

  2. appendFiles=$1

  3. # awk params
  4. modifyNum=5.0000
  5. sumNum=150
  6. startLine=13

  7. for i in $appendFiles;do
  8.     awk -vmodifyNum=$modifyNum -vsumNum=$sumNum -vstartLine=$startLine -vfile=$i \
  9.     '/^2.0000/{lastLine=$0} {if (NR >= startLine)sum +=$1}
  10.       END{sub(/^2.0000/,modifyNum,lastLine);sum -= 2.0;reNum=sumNum - sum;
  11.       if (reNum >0){item=(reNum + 4)/5;for (i=0;i<item;i++)print lastLine >> file} }' $i
  12. done
復(fù)制代碼
./append.sh files

論壇徽章:
3
2015亞冠之布里斯班獅吼
日期:2015-06-25 18:46:20程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2017-01-09 21:37:58
6 [報(bào)告]
發(fā)表于 2015-09-13 01:44 |只看該作者
回復(fù) 5# tc1989tc

您好!謝謝您的幫助,但是運(yùn)行還是報(bào)錯(cuò)。我來(lái)慢慢研究下,剛接觸shell。。。

報(bào)錯(cuò)信息如下:

bash-3.2$ ls
21.0_98.0.mod        append.sh
bash-3.2$ ./append.sh 21.0_98.0.mod
bash: ./append.sh: Permission denied
bash-3.2$ sh append.sh 21.0_98.0.mod
awk: invalid -v option

   

論壇徽章:
3
2015亞冠之布里斯班獅吼
日期:2015-06-25 18:46:20程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2017-01-09 21:37:58
7 [報(bào)告]
發(fā)表于 2015-09-13 01:49 |只看該作者
回復(fù) 4# MMMIX

謝謝您的幫助,我保存運(yùn)行,報(bào)錯(cuò)。

報(bào)錯(cuò)信息如下:
bash-3.2$ ls
21.0_98.0.mod        append.sh        test.sh
bash-3.2$ sh test.sh 21.0_98.0.mod
test.sh: line 3: syntax error near unexpected token `{'
test.sh: line 3: `if(NR < 13){'
bash-3.2$ sh test.sh
test.sh: line 3: syntax error near unexpected token `{'
test.sh: line 3: `if(NR < 13){'

   

論壇徽章:
3
2015亞冠之布里斯班獅吼
日期:2015-06-25 18:46:20程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2017-01-09 21:37:58
8 [報(bào)告]
發(fā)表于 2015-09-13 02:24 |只看該作者
本帖最后由 tengfei0311 于 2015-09-13 02:26 編輯

回復(fù) 5# tc1989tc


您好!我已經(jīng)調(diào)通可以運(yùn)行了,太謝謝您了,但是還有一個(gè)問(wèn)題。見(jiàn)圖紅框部分。

就是最后一行2.0000沒(méi)有改,你是直接把最后一行2.0000改成5.0000就復(fù)制在后面,最后一行你沒(méi)有任何操作,我是想最后一行也要操作 把2.0000也改成5.0000,在復(fù)制改后的5.000行,直到第一列值求和到150停止。

現(xiàn)在的問(wèn)題就是多了這一行數(shù)據(jù),我計(jì)算了一下,把最后哪行要改的數(shù)據(jù)(圖片紅框行)刪掉就對(duì)了 或者把最后一行(圖片紅框這一行)2.0000改成5.0000 那么整個(gè)文件數(shù)據(jù)也就多一行5.0000的數(shù)據(jù)。

論壇徽章:
95
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計(jì)版塊每日發(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程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀(jì)念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
9 [報(bào)告]
發(fā)表于 2015-09-13 08:49 |只看該作者
回復(fù) 7# tengfei0311


    我那是個(gè) AWK 腳本,不是 shell 腳本。

論壇徽章:
145
技術(shù)圖書徽章
日期: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技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
10 [報(bào)告]
發(fā)表于 2015-09-13 10:08 |只看該作者
回復(fù) 1# tengfei0311

$ awk -vst=13 -vmax=150 -vmul=5 '{
  if(S0!="")
    print S0;
  if(NR>=st)
    total+=S1;
  S0=$0;
  S1=$1;
}
END{
  diff=max-total;
  if(diff<0){
    print S0;
    exit;
  }
  sub(/[^ ]+/,"5.000",S0);
  for(n=0;n<=diff;n+=mul)
    print S0;
}' test.mod

   
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP