일부 단어가 대문자로 시작하고, 일부 단어가 소문자로 시작하고, 일부 단어가 숫자나 특수 문자로 시작하는 파일이 있는 경우. 을 사용하면 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
비교하기 전에 모든 소문자를 해당 대문자로 변환합니다. 즉, 대소문자를 구분하지 않는 정렬을 수행합니다.