linux 中sed命令实现文本的大小写转换

 

001、将所有的小写字母转换为大写

[root@PC1 test4]# ls
a.txt
[root@PC1 test4]# cat a.txt                    ## 测试数据
abd mnj uyr
XDE THR QYE
cvb Ddg gyi
[root@PC1 test4]# sed 's/[a-z]/\U&/g' a.txt    ## 所有小写字母转换为大写
ABD MNJ UYR
XDE THR QYE
CVB DDG GYI

 

002、所有的大写转换为小写

[root@PC1 test4]# ls
a.txt
[root@PC1 test4]# cat a.txt
abd mnj uyr
XDE THR QYE
cvb Ddg gyi
[root@PC1 test4]# sed 's/[A-Z]/\L&/g' a.txt      ## 所有的大写转换为小写
abd mnj uyr
xde thr qye
cvb ddg gyi

 

003、所有开头的字母转换为大写

[root@PC1 test4]# ls
a.txt
[root@PC1 test4]# cat a.txt
abd mnj uyr
XDE THR QYE
cvb Ddg gyi
[root@PC1 test4]# sed 's/\b[a-z]/\U&/g' a.txt    ## 所有开头的字母转换为大写
Abd Mnj Uyr
XDE THR QYE
Cvb Ddg Gyi

 

004、仅开头的字母转换为大写

[root@PC1 test4]# ls
a.txt
[root@PC1 test4]# cat a.txt
abd mnj uyr
XDE THR QYE
cvb Ddg gyi
[root@PC1 test4]# sed 's/[a-z]/\U&/' a.txt   ## 仅开头的字母转换为大写
Abd mnj uyr
XDE THR QYE
Cvb Ddg gyi

 

005、将所有单词开头的字母转换为大写, 其余的转换为小写

[root@PC1 test4]# ls
a.txt
[root@PC1 test4]# cat a.txt
abd mnj uyr
XDE THR QYE
cvb Ddg gyi
[root@PC1 test4]# sed 's/[A-Z]/\L&/g' a.txt
abd mnj uyr
xde thr qye
cvb ddg gyi
[root@PC1 test4]# sed 's/[A-Z]/\L&/g' a.txt | sed 's/\b[a-z]/\U&/g'  ## 所有开头的字母转换为大写,其余小写
Abd Mnj Uyr
Xde Thr Qye
Cvb Ddg Gyi

 

006、大写转小写; 小写转大写

[root@PC1 test4]# ls
a.txt
[root@PC1 test4]# cat a.txt
abd mnj uyr
XDE THR QYE
cvb Ddg gyi
[root@PC1 test4]# tr [a-z][A-Z] [A-Z][a-z] < a.txt    ## 大小写互换
ABD MNJ UYR
xde thr qye
CVB dDG GYI

 

posted @ 2023-05-30 21:29  小鲨鱼2018  阅读(630)  评论(0编辑  收藏  举报