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

 

001、大写转换为小写

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt                     ## 测试数据
AWF hhdd
meh DGEE
345 efff
rrt hhkk
root@DESKTOP-IDT9S0E:/home/test# sed 's/[a-z]/\U&/g' a.txt     ## U为大写
AWF HHDD
MEH DGEE
345 EFFF
RRT HHKK
root@DESKTOP-IDT9S0E:/home/test# sed 's/[a-z]/\u&/g' a.txt     ## u为小写同样可以实现
AWF HHDD
MEH DGEE
345 EFFF
RRT HHKK

 

02、小写转换为大写

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt                     ## 测试数据
AWF hhdd
meh DGEE
345 efff
rrt hhkk
root@DESKTOP-IDT9S0E:/home/test# sed 's/[A-Z]/\L&/g' a.txt     ## L为大写 
awf hhdd
meh dgee
345 efff
rrt hhkk
root@DESKTOP-IDT9S0E:/home/test# sed 's/[A-Z]/\l&/g' a.txt     ## 小写同样实现
awf hhdd
meh dgee
345 efff
rrt hhkk

 

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

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt
AWF hhdd
meh DGEE
345 efff
rrt hhkk
root@DESKTOP-IDT9S0E:/home/test# sed 's/^[a-z]/\U&/' a.txt  ## 将开头的小写字母转换为大写
AWF hhdd
Meh DGEE
345 efff
Rrt hhkk

 

004、将开头的字母转换为大写,其余的字母转换为小写

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt
AWF hhdd
meh DGEE
345 efff
rrt hhkk
root@DESKTOP-IDT9S0E:/home/test# sed 's/[A-Z]/\L&/g' a.txt
awf hhdd
meh dgee
345 efff
rrt hhkk
root@DESKTOP-IDT9S0E:/home/test# sed 's/[A-Z]/\L&/g' a.txt | sed 's/^[a-z]/\U&/' ##开头大写,其余小写
Awf hhdd
Meh dgee
345 efff
Rrt hhkk

 

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt
AWF hhdd
meh DGEE
345 efff
rrt hhkk
root@DESKTOP-IDT9S0E:/home/test# sed -e "s/\b\(.\)/\u\1/g" a.txt
AWF Hhdd
Meh DGEE
345 Efff
Rrt Hhkk

 

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt
AWF hhdd
meh DGEE
345 efff
rrt hhkk
root@DESKTOP-IDT9S0E:/home/test# sed 's/\b\([[:alpha:]]\)\([[:alpha:]]*\)\b/\u\1\L\2/g' a.txt
Awf Hhdd
Meh Dgee
345 Efff
Rrt Hhkk
root@DESKTOP-IDT9S0E:/home/test# sed 's/\b\([[:alpha:]]\)\([[:alpha:]]*\)\b/\U\1\L\2/g' a.txt
Awf Hhdd
Meh Dgee
345 Efff
Rrt Hhkk

 

005、大写转换为小写,小写转换为大写

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt
AWF hhdd
meh DGEE
345 efff
rrt hhkk
root@DESKTOP-IDT9S0E:/home/test# sed 's/[A-Z]/\L&/g' a.txt
awf hhdd
meh dgee
345 efff
rrt hhkk                         ## 每个单词开头的字母转换为大写, 其余为小写
root@DESKTOP-IDT9S0E:/home/test# sed 's/[A-Z]/\L&/g' a.txt | sed -e 's/^[a-z]/\U&/' -e 's/\s\+[a-z]/\s\U&/g'
Awfs Hhdd
Mehs Dgee
345s Efff
Rrts Hhkk

 

006、实现大小写的互换

root@DESKTOP-IDT9S0E:/home/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test# cat a.txt
AWF hhdd
meh DGEE
345 efff
rrt hhkk
root@DESKTOP-IDT9S0E:/home/test# tr [a-z][A-Z] [A-Z][a-z] < a.txt  ## 大小写互换
awf HHDD
MEH dgee
345 EFFF
RRT HHKK

 

posted @ 2023-05-10 22:18  小鲨鱼2018  阅读(268)  评论(0编辑  收藏  举报