字符串操作与文件操作全解析
1. 字符串大小写转换
在不同的 shell 环境中,字符串大小写转换有不同的实现方式。
1.1 Bourne shell 中的大小写转换
在 Bourne shell 里,可以使用外部命令tr来实现字符转换。tr命令会将第一个参数中的字符转换为第二个参数中对应的字符。示例如下:
$ echo abcdefgh | tr ceh CEH # c => C, e => E, h => H abCdEfgH $ echo abcdefgh | tr ceh HEC # c => H, e => E, h => C abHdEfgC使用连字符指定的范围会扩展为包含所有中间字符:
$ echo touchdown | tr 'a-z' 'A-Z' TOUCHDOWN1.2 POSIX shell 中的大小写转换
在 POSIX shell 中,对于短字符串,可以使用参数扩展和包含case语句的函数作为查找表来高效地进行转换。以下是将字符串首字符转换为大写的函数to_upper:
to_upper() { case $1 in a*)