Vikas Venna Asked: 2017-11-23 04:45:36 +0800 CST2017-11-23 04:45:36 +0800 CST 2017-11-23 04:45:36 +0800 CST 如何更改字符大小写(从小到大,反之亦然)?同时[重复] 772 输入 > a='Vikas' > echo $a Vikas 我需要的输出是 echo $a | <some command> vIKAS text-processing 2 个回答 Voted Best Answer AlexP 2017-11-23T04:51:44+08:002017-11-23T04:51:44+08:00 $ echo Vikas | LC_ALL=C tr a-zA-Z A-Za-z vIKAS 该实用程序tr翻译字符;它有两个代表字符集的参数;然后它将标准输入复制到标准输出,将第一组中的每个字符替换为第二组中的相应字符。在此应用程序中,它将小写字母替换为大写字母,反之亦然。有关详细信息和可以执行的其他处理,请参见tr(1) 的手册页。tr Giac 2017-11-23T05:37:16+08:002017-11-23T05:37:16+08:00 您可以使用带有 [:upper:] 和 [:lower:] 选项的 tr 命令,如下所示: echo "aBcDeF" |tr '[:upper:][:lower:]' '[:lower:][:upper:]' AbCdEf 您也可以使用 sed 命令(代表“流编辑器”),如下所示: echo "abcd ABCD" |sed 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/' sed 具有更大的灵活性,这意味着您可以定义任何字符映射。例如,您可以使用以下命令将数字转换为黑客字母: echo "52065218802365" |sed 'y/0123456789/OIZEhSGLBP/' SZOGSZIBBOZEGS (字符映射参考)
该实用程序
tr
翻译字符;它有两个代表字符集的参数;然后它将标准输入复制到标准输出,将第一组中的每个字符替换为第二组中的相应字符。在此应用程序中,它将小写字母替换为大写字母,反之亦然。有关详细信息和可以执行的其他处理,请参见tr(1) 的手册页。tr
您可以使用带有 [:upper:] 和 [:lower:] 选项的 tr 命令,如下所示:
您也可以使用 sed 命令(代表“流编辑器”),如下所示:
sed 具有更大的灵活性,这意味着您可以定义任何字符映射。例如,您可以使用以下命令将数字转换为黑客字母:
(字符映射参考)