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