CSV 파일을 정렬하기 위해 다음 두 스크립트를 시도했습니다.
$ sort -t"," -k1,1 -k3,3 -k4,4 -k6,6r myFile.csv
그리고
$ sort -t"," -k1,1 -k3,3 -k4,4 -rk6,6 myFile.csv
거기서 찾았어-아르 자형전에-케이여섯 번째 열뿐만 아니라 첫 번째 열도 반전시키면서-아르 자형뒤쪽에케이열 6만 반전됩니다. 한편으로는 우리가 왜 넣었는지 이해가 안 돼요.-아르 자형이전과 이후-케이차이를 만들다. 게다가 설명도 못찾겠다돕다또는남성.
답변1
-rk6,6
이 옵션을 사용하면 -r
전역적으로, 즉 모든 키에 적용됩니다. 이는 다음과 같습니다.
sort -t"," -r -k1,1 -k3,3 -k4,4 -k6,6 myFile.csv
반면에 여섯 번째 필드 만 -k6,6r
적용됩니다 . 즉, 단독으로 적용됩니다.r
답변2
~처럼맨페이지설명하다:
Sort keys can be specified using the options:
-k keydef
The keydef argument is a restricted sort key field definition.
The format of this definition is:
field_start[type][,field_end[type]]
where field_start and field_end define a key field restricted to a
portion of the line (see the EXTENDED DESCRIPTION section), and type is
a modifier from the list of characters 'b' , 'd' , 'f' , 'i' , 'n' ,
'r' .
-k
는제한된정의. 나중에 지정하는 옵션은 -k
이 필드 정의에만 적용됩니다. -r
반면에 이는 글로벌 선택입니다. 맨페이지를 다시 인용하면 다음과 같습니다.
The following options shall override the default ordering rules. When
ordering options appear independent of any key field specifications,
the requested field ordering rules shall be applied globally to all
sort keys. When attached to a specific key (see -k), the specified
ordering options shall override all global ordering options for that
key.