[ SHELL编程 ] 文件内容大小写替换
shell编程经常会碰到字符串、文件内容大小写的转换,在不同的场景下选择合适的命令可以提高编程效率。
适用场景
需大小写转换的文件内容或字符串
字符串大小写替换
小写替换大写
echo "hello world" | tr '[a-z]' '[A-Z]' echo "hello world" | tr '[:lower:]' '[:upper:]'
大写替换小写
echo "hello world" | tr '[A-Z]' '[a-z]' echo "HELLO WORLD" | tr '[:upper:]' '[:lower:]'
大小写互换
echo "Hello World" | tr '[a-zA-Z]' '[A-Za-z]'
文件内容大小写替换<原地置换>
小写替换大写
sed -i 's/[a-z]/\u&/g' filename
大写替换小写
sed -i 's/[A-Z]/\u&/g' filename
单词首字母替换成大写
sed -i 's/\b[a-z]/\u&/g' filename
文件内容大小写替换<需重定向>
tr 'a-z' 'A-Z' < filename1 > filename2 #小写替换成大写 tr 'A-Z' 'a-z' < filename1 > filename2 #大写替换成小写 awk '{print toupper($0)}' filename1 > filename2 #小写替换成大写 awk '{print tolower($0)}' filename1 > filename2 #大写替换成小写