LEC05의 모든 학생을 찾고 이름을 정렬된 순서로 인쇄하는 한 줄 쉘 명령

LEC05의 모든 학생을 찾고 이름을 정렬된 순서로 인쇄하는 한 줄 쉘 명령

input.txt예를 들어 다음을 포함하는 파일이 있다고 가정해 보겠습니다.

100 John Doe LEC05 12356

132 Carol Bon LEC05 156

122 Cavar Liktik LEC01 136

...

이 명령은 각 사람을 찾아 이름이 지정된 파일에 LEC05순서대로 이름을 인쇄해야 합니다.sortedoutput.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

그리고 :grepcut

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

관련 정보