[ 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/[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 #大写替换成小写

 

原文地址:https://www.cnblogs.com/linyfeng/p/7464936.html