Bash
一行 shell 命令,查找 LEC05 中的所有學生並按排序順序列印他們的名字
例如,假設我們有一個名為的文件
input.txt
,其中包含
100 John Doe LEC05 12356
132 Carol Bon LEC05 156
122 Cavar Liktik LEC01 136
...
這個命令應該找到每個人,並在一個名為的文件中按順序
LEC05
列印出他們的名字sorted``output.txt
該命令應該是一個單行命令(帶有管道)。
我不確定它會怎麼做。
see if LEC05 | find first name at index 1 | sort < input.txt > output.txt
我該怎麼做
see if LEC05 | find first name at index 1
?
與
awk
:awk '$4 == "LEC05" { print $2 }' /path/to/inputfile | sort > outputfile
grep
和cut
:_grep 'LEC05' /path/to/inputfile | cut -f2 | sort > outputfile
更加清醒
awk '/LEC05/{ name[$2]++ } END { n = asorti( name,sname ); for ( i in sname ) print sname[i]}' input.txt