Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 数字/单词在不同行中的出现情况_Linux_Shell_Awk - Fatal编程技术网

Linux 数字/单词在不同行中的出现情况

Linux 数字/单词在不同行中的出现情况,linux,shell,awk,Linux,Shell,Awk,我有一个具有以下结构的文件: 学生姓名科目一年级科目二年级 我知道如何计算每个科目有多少特技演员参加,但我不知道如何计算每个科目有多少特技演员的成绩超过5分 此外,我还需要帮助找到每门学科的年级发生率,以及哪个年级发生率最高 如果有人能帮我,我将不胜感激 到目前为止,我得到的是: awk ' { for (i = 2; i <= NF; i += 2) C[$i]++;} {for (j = 3; j <= NF; j += 2) B[$j]++;} END { for (var i

我有一个具有以下结构的文件: 学生姓名科目一年级科目二年级

我知道如何计算每个科目有多少特技演员参加,但我不知道如何计算每个科目有多少特技演员的成绩超过5分

此外,我还需要帮助找到每门学科的年级发生率,以及哪个年级发生率最高

如果有人能帮我,我将不胜感激

到目前为止,我得到的是:

awk ' { for (i = 2; i <= NF; i += 2) C[$i]++;} {for (j = 3; j <= NF; j += 2) B[$j]++;} END { for (var in C) print "The ",var," subject was attanded by " C[var], "students" ; for (var3 in B) print "The occurance of grade: ",var3," is : ", B[var3]; }'\n $1 

awk'{for(i=2;i这里有一个模板,你可以用来添加打印格式

$ awk '{for(i=2;i<NF;i+=2) 
          {k=$i; g=$(i+1); a[k]++; 
           c[k]+=(g>=5); 
           grades[k]=(k in grades?grades[k]:k) ORS g}} 

    END{for(k in a) print k, a[k], c[k]; 
        for(k in grades) print grades[k]}' file

Algorithms 6 6
Math 6 6
Java 6 5
Algorithms
8
7
10
5
5
9
Math
6
6
8
7
9
7
Java
8
9
5
7
4
5
$awk'{for(i=2;i=5);
等级[k]=(等级中的k?等级[k]:k)或g}
结束{对于(a中的k)打印k,a[k],c[k];
对于(k个等级)打印等级[k]}'文件
算法6
数学6
爪哇6 5
算法
8.
7.
10
5.
5.
9
数学
6.
6.
8.
7.
9
7.
JAVA
8.
9
5.
7.
4.
5.

a
数组具有主题的计数,
c
具有与
=5
标准匹配的计数;
grades
具有所有主题的分数。在
末尾
块,您迭代数组/映射以选择存储的值。请注意,您的“Java”在发布的示例中,计数不正确。

您目前做了什么?您尝试了什么?请将样本输入和该样本输入所需的输出添加到您的问题中。awk'{for(i=2;i
$ awk '{for(i=2;i<NF;i+=2) 
          {k=$i; g=$(i+1); a[k]++; 
           c[k]+=(g>=5); 
           grades[k]=(k in grades?grades[k]:k) ORS g}} 

    END{for(k in a) print k, a[k], c[k]; 
        for(k in grades) print grades[k]}' file

Algorithms 6 6
Math 6 6
Java 6 5
Algorithms
8
7
10
5
5
9
Math
6
6
8
7
9
7
Java
8
9
5
7
4
5