0

print $1 and $2 if $2<25テキストファイルからやりたいのですが。また、すべてのファイルから、点数が25未満の生徒の総数を取得する必要があります。どうすればawkまたはsedでこれを行うことができますか?

students  marks
jerry     12
peter     35
john      5
jerry     15
john      10

必要な出力

jerry    12
john      5 
jerry     15
john      10

Total no:of students :- 4
4

2 に答える 2

3

awk

$ awk '$2<25 {print; i++} END{print "\nTotal number of students:- "i}' file

出力:

jerry     12
john      5
jerry     15
john      10

Total number of students:- 4

出力を成績順 (最低から​​最高) に並べ替えたい場合は、次のようにします。

$ sort -n -k2,2 file | awk '$2<25 {print; i++} END{print "\nTotal number of students:- "i}' 

ソートされた出力:

john      5
john      10
jerry     12
jerry     15

Total number of students:- 4

-n数値ソート; -k2,22 番目のフィールドで並べ替えます。

于 2012-12-07T08:36:52.477 に答える
2
awk '$2<25{count++ ; print}END{print "Total No of Students :-",count}' your_file

以下でテスト:

> awk '$2<25{count++ ; print}END{print "Total No of Students :-",count}' temp
jerry     12
john      5
jerry     15
john      10
Total No of Students :- 4
于 2012-12-07T08:41:30.493 に答える