sort -u 是否转换大小写?

sort -u 是否转换大小写?

如果我有一个文件,其中一些单词以大写字母开头,一些单词以小写字母开头,一些单词以数字或特殊字符开头。 using 是否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

在比较之前将所有小写字符转换为其等效的大写字符,即执行与大小写无关的排序。

相关内容