Content #
sort命令处理大写字母的方法刚好与test命令相反:
$ cat SportsFile.txt
Soccer
soccer
$
$ sort SportsFile.txt
soccer
Soccer
$
$ cat sort_order_comparison.sh
#!/bin/bash
# Testing string sort order
#
string1=Soccer
string2=soccer
#
if [ $string1 \> $string2 ]
then
echo "$string1 is greater than $string2"
else
echo "$string1 is less than $string2"
fi
$
$ ./sort_order_comparison.sh
Soccer is less than soccer
在比较测试中,大写字母被认为是小于小写字母的。但sort命令正好相反。当你将同样的字符串放进文件中并用sort命令排序时,小写字母会先出现。这是由于各个命令使用了不同的排序技术。
比较测试中使用的是标准的Unicode顺序,根据每个字符的Unicode编码值来决定排序结果。sort命令使用的是系统的语言环境设置中定义的排序顺序。对于英语,语言环境设置指定了在排序顺序中小写字母出现在大写字母之前。
From #
Linux命令行与shell脚本编程大全