我有一个名为input.txt
的文件,其中包含StudentName # ClassName #SchoolName # Subject1Marks # Subject2Marks
格式的学生数据。
Shriii#First#ADCET#95#90
Chaitraliii#Second#ADCET#80#75
Shubhangi#First#ADCET#75#70
Tushar#Second#RIT#80#79
Prathamesh#First#RIT#88#63
Sukrut#Second#KIT#91#90
输出应包含平均水平超过90的学生的记录。我必须在新列中显示平均水平。
期望的输出为Shriii|First|ADCET|95|90|92.5
,我尝试了各种方法,但无法生成期望的输出。我尝试了Link1 Link2
答案 0 :(得分:1)
awk
来营救!
$ awk -F# -v OFS='|' '{$(NF+1)=($(NF-1)+$NF)/2}1' file
Shriii|First|ADCET|95|90|92.5
Chaitraliii|Second|ADCET|80|75|77.5
Shubhangi|First|ADCET|75|70|72.5
Tushar|Second|RIT|80|79|79.5
Prathamesh|First|RIT|88|63|75.5
Sukrut|Second|KIT|91|90|90.5
或通过管道传递到column
以获得漂亮的输出
... | column -ts'|'
Shriii First ADCET 95 90 92.5
Chaitraliii Second ADCET 80 75 77.5
Shubhangi First ADCET 75 70 72.5
Tushar Second RIT 80 79 79.5
Prathamesh First RIT 88 63 75.5
Sukrut Second KIT 91 90 90.5