13 12
发新话题
打印

关于sed的疑问 (又是 locale 对字符排序的影响)

除了将 LC_ALL 设成 C 之外, 还可以采用如下方法:
引用:
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=26039 $?=0]
; cat /etc/redhat-release
Red Hat Linux release 9 (Shrike)
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=26039 $?=0]
; sed --version
GNU sed version 4.0.5
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=26039 $?=0]
; locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=26039 $?=0]
; cat wk
northwest NW Joel Craig 3.0 .98 3 4
western WE Sharon Kelly 5.3 .97 5 23
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=26039 $?=0]
; sed 's/ \([A-Z][a-z]\+\) \([A-Z][a-z]\+\) / \2 \1 /g' wk
northwest Joel NW Craig 3.0 .98 3 4
western Sharon WE Kelly 5.3 .97 5 23
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=26039 $?=0]
; sed 's/ \([[:upper:]][[:lower:]]\+\) \([[:upper:]][[:lower:]]\+\) / \2 \1 /g' wk
northwest NW Craig Joel 3.0 .98 3 4
western WE Kelly Sharon 5.3 .97 5 23
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=26039 $?=127]
; bye
[ 本帖最后由 dearvoid 于 2008-6-16 12:38 编辑 ]      
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间

TOP

参考精华贴: locale 对字符排序的影响      
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间

TOP

回复 #10 dearvoid 的帖子

版主很强悍啊!
看样子要学的东西太多了.      

TOP

 13 12
发新话题