보기 흉하지만이 방법이 효과가 있다고 생각합니다.
가정은 :
- 파일은
$FILE
지정됩니다.
- 파일에는 쉼표로 구분 된 숫자 만 포함됩니다.
코드 :
awk 'BEGIN { FS="," } !/^$/ { print NR,$2,$3 }' < $FILE |
sort -nk 2,3 |
awk '{ print $1,$2 }'
uniq -uf 1 |
head -n 3 |
while read num ignore; do sed -n "${num}p" < $FILE; done
라인 단위 설명 :
awk:
인쇄 라인 수와 필드 2와 모든 공백이 아닌 라인 3 파일. 나중에, 우리는 우리가 필드 2, 3
awk:
제거하여 숫자 필드 2, 3
sort:
정렬에 출력을 분류 한 후, $FILE
에서 원하는 라인을 추출하는 지표로 줄 번호를 사용합니다 필드 3, 행 번호와 필드 2 만 남김.
uniq:
줄 번호를 무시하고 고유 한 줄만 인쇄하십시오.
head:
첫 번째 3 줄만 인쇄하십시오.
while:
각 줄의 나머지 부분을 무시하고 3 개의 줄 번호를 읽습니다. 원본 파일에서 해당 행을 인쇄하십시오.
_ "독자적으로 프로그램을 작성하지 않으시겠습니까?"_ CLI (bash에 의해 실행 됨) 용 프로그램 작성으로 끝납니다. –