例如,假设我们有一个名为的文件,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
部分?
答案1
和awk
:
awk '$4 == "LEC05" { print $2 }' /path/to/inputfile | sort > outputfile
与grep
和cut
:
grep 'LEC05' /path/to/inputfile | cut -f2 | sort > outputfile
答案2
更多的困惑
awk '/LEC05/{ name[$2]++ } END { n = asorti( name,sname ); for ( i in sname ) print sname[i]}' input.txt