shell语法——京东面试题
问题1:使用Linux命令查
空格
在的行号
答案:
[at@hadoop101 shells]$ awk '/^$/{print NR}' file1
5
问题2:有文件chengji.txt内容如下:
张三 40
李四 50
王五 60
使用Linux命令计算第二列的和并输出
[at@hadoop101 shells]$awk -F " " -v sum=0 '{sum+=$2} END{print "总分: "sum}' chengji.txt
150
[at@hadoop102 shells]$ awk -F " " -v sum=0 '{sum+=$2} BEGIN{print "姓名:分数"} {print $1":"$2} END{print "总分:"sum}' chengji.txt
姓名:分数
张三:40
李四:50
王五:60
总分:150
[at@hadoop101 shells]$ awk -F " " -v sum=0,count=0 'BEGIN{print "姓名:分数"}{count+=1}{sum+=$2}{print $1":"$2}END{print "总分:"sum}END{print "平均分:" sum/count}' chengji.txt
姓名:分数
张三:40
李四:50
王五:60
总分:150
平均分:50