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

  免費注冊 查看新帖 |

Chinaunix

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

[文本處理] 按行號輸出怎么搞,求詳解 [復(fù)制鏈接]

論壇徽章:
0
11 [報告]
發(fā)表于 2012-11-15 08:47 |只看該作者
回復(fù) 7# waker
這個好!
回去學(xué)習(xí)了一下多文件處理,自己解釋下幫助記憶
NR==FNR表示判斷是否是在處理第一個文件
a[$0]++ 是建成hash表,就是把$0作為鍵值建立hash表,++表示該hash表項加一,即表示這個表項有多少個值。(初值為空)
NR>FNR是進(jìn)入第二個文件
&&a[FNR]表示輸出hash值不為0的數(shù)值

不太習(xí)慣這樣的寫法,習(xí)慣if else的寫法

論壇徽章:
0
12 [報告]
發(fā)表于 2012-11-15 08:49 |只看該作者
回復(fù) 8# 代號:軍刀
學(xué)到了getline
這個有點問題,改成這樣就可以啦
awk 'BEGIN{read=1}{if(read)getline a<"line";if(NR==a){read=1;print}else{read=0}}' source


   

論壇徽章:
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
13 [報告]
發(fā)表于 2012-11-15 09:40 |只看該作者
回復(fù) 1# udevu

How about this

$ cat line
1
3
5

$ cat source
s1
s2
s3
s4
s5
s6

$ awk '{n=$0;while(s<n){getline < "source";s++}print}' line
s1
s3
s5

   

論壇徽章:
5
白羊座
日期:2014-10-28 11:23:27水瓶座
日期:2015-01-20 10:19:022015亞冠之柏斯波利斯
日期:2015-07-11 18:17:2015-16賽季CBA聯(lián)賽之同曦
日期:2015-12-23 12:38:582016猴年福章徽章
日期:2016-02-18 15:30:34
14 [報告]
發(fā)表于 2012-11-15 13:25 |只看該作者
#!/bin/bash
cat line|sed -e "s/\([0-9]\+\)/\1p/" >line.sed
sed -nf line.sed source

論壇徽章:
0
15 [報告]
發(fā)表于 2012-11-15 14:01 |只看該作者
以下perl代碼可以實現(xiàn),前提是line文件已排序。

#!/usr/bin/perl
open(A,"source.txt");
open(B,"line.txt");
$lineA=0;
while(<B>){
        $num = $_;
        while(1){
                $text = <A>;
                $lineA = $lineA+1;
                if ($num == $lineA){
                        print $text;
                        last;
                }
        }
}
close A;
close B;

論壇徽章:
0
16 [報告]
發(fā)表于 2012-11-15 15:18 |只看該作者
cat -n source | join - line

論壇徽章:
0
17 [報告]
發(fā)表于 2012-11-15 15:55 |只看該作者
回復(fù) 16# dwj19830118
這個有問題,有時候不對。
再看看?
  1. $ cat line
  2. 1
  3. 5
  4. 6
  5. 10
復(fù)制代碼
  1. $ cat source
  2. 11
  3. 12
  4. 13
  5. 14
  6. 15
  7. 16
  8. 17
  9. 18
  10. 19
  11. 110
復(fù)制代碼
  1. $ cat -n source |join -  line
  2. 1 11
  3. 5 15
  4. 6 16
復(fù)制代碼
什么原理?


   

論壇徽章:
0
18 [報告]
發(fā)表于 2012-11-15 16:36 |只看該作者
貌視很熱鬧 飄過
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(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