zoukankan      html  css  js  c++  java
  • 在Linux命令行中进行大小写字符转换

    在大小写之间转换文本可能非常繁琐,幸运的是Linux提供了一些命令,这些命令可以使工作变得非常简单。
    环境

    Centos7

    使用tr

    如果有一个字符串要确保全部是大写的,只需通过tr命令替换:

    [root@localhost ~]# echo "Hello World" | tr [:lower:] [:upper:]
    HELLO WORLD
    

    下面是在脚本中使用此命令的示例,需要确保添加到文件中的所有文本都是大写,以保持一致性:

    #!/bin/bash
    
    read -p "Enter department name: " dept
    echo $dept | tr [:lower:] [:upper:] >> depts
    

    将顺序切换为[:upper:] [:lower:]会会将所有大写字符转换成小写:

    #!/bin/bash
    
    read -p "Enter department name: " dept
    echo $dept | tr [:upper:] [:lower:] >> depts
    

    也可以使用”a-z” “A-Z”来替换大小写。

    #!/bin/bash
    
    read -p "Enter department name: " dept
    echo $dept | tr a-z A-Z>> depts
    

    下面几个函数是tr内置的:

      • [:alnum:] 所有字母和数字
      • [:alpha:] 所有字母
      • [:blank:] 所有空白
      • [:cntrl:] 所有控制字符
      • [:digit:] 所有数字
      • [:graph:] 所有可打印字符,不包括空格
      • [:lower:] 所有小写字符
      • [:print:] 所有可打印字符,包括空格
      • [:punct:] 所有的标点符号
    • [:upper:] 所有大写字符
    使用awk

    在awk中可以使用toupper()和tolower()函数,来转换大小写。
    下面实例内容在文本里面写入,将输入的小写内容转换为大写:

    #!/bin/bash
    
    read -p "Enter department name: " dept
    echo $dept | awk ‘{print toupper($0)}’ >> depts
    

    下面实例内容在文本里面写入,将输入的大写内容转换为小写:

    #!/bin/bash
    
    read -p "Enter department name: " dept
    echo $dept | awk ‘{print tolower($0)}’ >> depts
    
    使用sed

    在sed中可以使用U&和L&函数,来转换大小写。

    使用sed,将小写转换成大写:

    #!/bin/bash
    
    read -p "Enter department name: " dept
    echo $dept | sed 's/[a-z]/U&/g' >> depts
    

    使用sed,将大写转换成小写:

    #!/bin/bash
    
    read -p "Enter department name: " dept
    echo $dept | sed 's/[A-Z]/L&/g' >> depts
    
    总结

    在linux中有很多方式可以替换大小写字母,你可以选择一个能记住的命令使用。

  • 相关阅读:
    今天才知道还有这个地址 MS 的
    提供一个在线翻译,多语言互译的好网址.
    程序员有多少读过《人性的弱点》?项目经理呢?
    [下载]ASP.NET开发技巧集锦
    真不好意思,关于小猪妹(妖精)的
    poj 1330 LCA问题 (LCA问题转化为RMQ || tarjan算法)
    poj 2688 (bfs+dfs)
    Codeforces Round #143 (Div. 2) B
    poj 1160 dp
    poj 1032(整数拆分)
  • 原文地址:https://www.cnblogs.com/linuxprobe/p/14243825.html
Copyright © 2011-2022 走看看