sort -u는 대소문자를 변환합니까?

sort -u는 대소문자를 변환합니까?

일부 단어가 대문자로 시작하고, 일부 단어가 소문자로 시작하고, 일부 단어가 숫자나 특수 문자로 시작하는 파일이 있는 경우. 을 사용하면 sort -u input > output입력 파일의 문자가 출력 파일의 소문자로 변환 됩니까 ?

어떤 이유로 이런 일이 나에게 일어나는 것 같습니다. 하지만 그렇지 않은 경우 첫 글자가 너무 작은 경우 먼저 대문자로 변환하는 방법이 필요합니다.

답변1

sort대소문자를 변경하지 않으며 sort정렬 이외의 데이터도 변경하지 않습니다. 단, sort -u중복 항목은 제거됩니다.

$ for demochar in a b c A B C Ɓ ƀ À à; do printf "%s\n%s\n" "$demochar" "$demochar"; done ) | shuf > input1
$ sort -u input1  > input2
$ sort -uf input1 > input3
$ paste input1 input2 input3
B   A   a
ƀ   B   B
C   C   C
C   a   à
B   b   ƀ
b   c   Ɓ
à   À
a   à
à   ƀ
c   Ɓ
c
A
ƀ
Ɓ
a
b
Ɓ
A
À
À

sort -f~ 할 것이다비교 목적으로, 모든 것을 대문자로 강제하지만 실제 데이터 출력은 변경되지 않습니다. 매뉴얼에서:

-f,--ignore-case

비교하기 전에 모든 소문자를 해당 대문자로 변환합니다. 즉, 대소문자를 구분하지 않는 정렬을 수행합니다.

관련 정보