0

我有两个文件可以说... 1) 学生记录有 id、name 和 city 等信息 2) 学生分数有 id、totalmarks、percentage

学生记录(文件)

101 | 尼克| 孟买
102 | 泽尔 | 钦奈
103 | 古拉夫 | 德里

学生成绩(文件)

101 | 80 | 80
102 | 90 | 90
103 | 90 | 90

我想用它的百分比来检索学生姓名等表格中的信息

尼克| 80
泽尔 | 90
古拉夫 | 90

如何使用 awk 命令编写

4

1 回答 1

1
awk -F'|' -v OFS="|" 'NR==FNR{a[$1]=$2;next}$1 in a{print a[$1],$3}' studentfile markfile

没有测试,但应该工作。

输出将是:

nik|80
zeel|90
....

编辑

 -F'|'                   #Field separator
 -v OFS="|"              #output field separator
 'NR==FNR{a[$1]=$2;next} #NR is overall record line number, FNR is record line number from one Input File. see man page for detail. this part was processing the first input file, and save id and name in an array
 $1 in a{print a[$1],$3}'#now processing the 2nd input file, the marks. if id in the array, print the value of the array (name), and the mark percentage field ($3)
于 2013-05-09T15:58:45.343 回答