0

私は 2 つのファイルを持っているとしましょう...

学生記録(ファイル)

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 に答える