在 Linux 命令行中更改大小写

使用 tr

tr(translate)命令是在命令行或脚本中最容易使用的命令之一。如果你要确定要一串大写字符串,你只需将它传给 tr,如下所示:


  1. $ echo Hello There | tr [:lower:] [:upper:] 
  2. HELLO THERE 

下面是一个在脚本中使用这个命令的例子,当你要确保添加到文件中的所有文本都使用大写形式以保持一致性时(LCTT 译注:这里输入部门名称作为示例):


  1. #!/bin/bash 
  2.  
  3. echo -n "Enter department name: " 
  4. read dept 
  5. echo $dept | tr [:lower:] [:upper:] >> depts 

将顺序切换为 [:upper:] [:lower:] 会产生相反的效果,将所有大写的部门名称都转换为小写:


  1. echo $dept | tr [:upper:] [:lower:] >> depts 

同样,你可以使用 sed 命令的 A-Z 和 a-z 字符串完成相同的操作:


  1. echo $dept | tr a-z A-Z >> depts 

毫无疑问,反转 a-z 和 A-Z 字符串的顺序将产生相反的效果,将文本全部变为小写。

使用 awk

awk 命令可让你使用它的 toupper 和 tolower 选项执行相同的操作。上例脚本中的命令可以用这种方式代替:


  1. echo $dept | awk '{print toupper($0)}' >> depts 

相反操作(切换为小写)如下所示:


  1. echo $dept | awk '{print tolower($0)}' >> depts 

使用 sed

sed(stream editor)命令也可用于切换大小写。它与上面显示的两个命令中的第一个具有相同的效果。


  1. echo $dept | sed 's/[a-z]/\U&/g' >> depts 

从大写字母切换到小写字母只需将行尾附近的 U 替换为 L。


  1. echo $dept | sed 's/[A-Z]/\L&/g' >> depts 

操作文件中的文本

awk 和 sed 都能更改整个文件的文本大小写。因此,你发现你的老板需要所有部门名称的小写么?没问题。只需带上文件名运行以下命令:


  1. $ awk '{print tolower($0)}' depts 
  2. finance 
  3. billing 
  4. bookkeeping 
【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章