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

Chinaunix

標(biāo)題: 求助以下文本該如何處理 [打印本頁(yè)]

作者: TasteOracle    時(shí)間: 2016-03-21 10:16
標(biāo)題: 求助以下文本該如何處理
文件A:
  1. 上海
  2. 北京
  3. 南京
  4. 西安
  5. 天津
  6. 深圳
復(fù)制代碼
文件B:
  1. 上海 10
  2. 北京 20
  3. 南京 30
  4. 西安 40
復(fù)制代碼
文件C:
  1. 北京 33
  2. 南京 21
  3. 西安 44
  4. 天津 11
復(fù)制代碼
輸出:
  1. 上海 10 0
  2. 北京 20 33
  3. 南京 30 21
  4. 西安 40 44
  5. 天津 0  11
  6. 深圳 0  0
復(fù)制代碼

作者: TasteOracle    時(shí)間: 2016-03-21 11:39
  1. awk 'FILENAME=="B"{a[$1]=$2}FILENAME=="C"{b[$1]=$2}FILENAME=="A"{print $0,a[$0]?a[$0]:0,b[$0]?b[$0]:0}' B C A
復(fù)制代碼
結(jié)貼吧
作者: elu_ligao    時(shí)間: 2016-03-21 11:49
  1. awk 'function check (){for(i in a)if(!b[i])a[i]=a[i] FS 0}ARGIND==1{s[NR]=$1;a[$1];next}ARGIND>2&&FNR==1{check();delete b}{a[$1]=a[$1] FS $2;b[$1]=1}END{check();for(i=1;i<=length(s);++i)print s[i], a[s[i]]}' A B C D E F | column -t
復(fù)制代碼

作者: sunzhiguolu    時(shí)間: 2016-03-21 12:30
perl abc.pl a.txt b.txt c.txt ...
  1. #!/usr/bin/perl -w
  2. use strict;

  3. my $sA = shift;
  4. open (my $fhA, '<', $sA);
  5. my %hData = my %hCity = map {chomp; $_, ''} <$fhA>;
  6. close ($fhA);
  7. foreach (@ARGV){
  8.         open (my $fh, '<', $_);
  9.         my %h = map {chomp; split} <$fh>;
  10.         close ($fh);
  11.         foreach (keys %hCity){
  12.                 exists $h{$_} ? ($hData{$_} .= " $h{$_}") : ($hData{$_} .= " 0");
  13.         }
  14. }
  15. print ("$_ $hData{$_}\n") foreach (keys %hData);
復(fù)制代碼

作者: jcdiy0601    時(shí)間: 2016-03-23 09:14
awk '{a[$1]=a[$1]" "$2}END{for(i in a)print i,a[i]}' 1 2|awk '{if($2=="")$2=0;print}'|column -t > 12
awk '{a[$1]=a[$1]" "$2}END{for(i in a)print i,a[i]}' 12 3|awk '{if($3=="")$3=0;print}'|column -t
作者: liion631818    時(shí)間: 2016-03-23 11:07
回復(fù) 1# TasteOracle
  1. awk 'BEGIN{
  2.         while((getline <"A")>0)
  3.                 cities[$0]="";
  4. }
  5. {
  6.         city_number[$1,FILENAME] = $2
  7.         files[FILENAME]++
  8. }
  9. END{
  10.         for(c in cities){
  11.                 printf("%-10s", c)
  12.                 for(f in files){
  13.                         if((c,f) in city_number)
  14.                                 printf("\t%-03d", city_number[c,f])
  15.                         else
  16.                                 printf("\t%-03d", 0)
  17.                 }
  18.                
  19.                 printf("\n");
  20.         }
  21. }' B C
復(fù)制代碼

作者: liion631818    時(shí)間: 2016-03-23 12:20
回復(fù) 1# TasteOracle
  1. @ubuntu:/home/samba-share/shell$ join --nocheck-order -a 1 -1 1 -2 1 -o 1.1 -o 1.2 -o 2.2 -e "0" <(join --nocheck-order -a 1 -o 1.1  
  2. -o 2.2 -e "0" A B ) C
  3. 上海 10 0
  4. 北京 20 33
  5. 南京 30 21
  6. 西安 40 44
  7. 天津 0 11
  8. 深圳 0 0
復(fù)制代碼

作者: jason680    時(shí)間: 2016-03-23 17:03
回復(fù) 2# TasteOracle

$ awk 'FNR==NR{a[++c]=$1;next}{d[$1,ARGIND]=$2}END{for(n=1;n<=c;n++)print a[n],+d[a[n],2],+d[a[n],3]}' A B C
上海 10 0
北京 20 33
南京 30 21
西安 40 44
天津 0 11
深圳 0 0

   




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