다음과 같은 파일 (user.csv)이 있습니다.
ip,hostname,user,group,encryption,aduser,adattr
사용자별로 모든 열 정렬을 인쇄하려는 경우
시도했지만 awk -F ":" '{print|"$3 sort -n"}' user.csv
작동하지 않습니다.
답변
그냥 sort
.
sort -t, -nk3 user.csv
어디
-
-t,
-구분 기호를,
. -
-n
-숫자 정렬을 제공합니다. 시도에 추가 했으므로 추가되었습니다. 사용자 필드가 텍스트 전용 인 경우 필요하지 않습니다. -
-k3
-필드 (키)를 정의합니다. user는 세 번째 필드입니다.
답변
- awk를 사용하여 사용자 ID를 앞에 넣으십시오.
- 종류
-
사용자 ID에 공백이 없다고 가정하고 sed를 사용하여 중복 사용자 ID를 제거하십시오.
awk -F, '{ print $3, $0 }' user.csv | sort | sed 's/^.* //'
답변
구분 기호를 선택할 수 있습니다.이 경우 콜론을 선택하고 알파벳 순서로 정렬하여 열 번호 1을 인쇄했습니다.
awk -F\: '{print $1|"sort -u"}' /etc/passwd
답변
awk -F, '{ print $3, $0 }' user.csv | sort -nk2
역순
awk -F, '{ print $3, $0 }' user.csv | sort -nrk2
답변
이 시도 –
awk '{print $0|"sort -t',' -nk3 "}' user.csv
또는
sort -t',' -nk3 user.csv
답변
awk -F "," '{print $0}' user.csv | sort -nk3 -t ','
이것은 작동합니다
답변
첫 번째 줄 (헤더)을 정렬에서 제외하기 위해 두 개의 버퍼로 분할했습니다.
df | awk 'BEGIN{header=""; $body=""} { if(NR==1){header=$0}else{body=body"\n"$0}} END{print header; print body|"sort -nk3"}'
