AI智能
改变未来

【shell】shell脚本肿的文本替换工具-tr

文章目录

  • [ul]1. 将输入的字符小写换成大写
  • 2. 实现对密码加密
  • 3. 使用tr删除字符
  • 4. 删除多余的空行
  • 5. 将小写变成大写
  • tr命令介绍
  • 常见参数
  • 常用命令展示
  • 总结
  • [/ul]

    tr命令介绍

    tr是一个超级好用的工具,他经常可以用来编写单行命令,对来自标准输入的内容进行字符的替换,字符的删除,以及重复字符的压缩。 也可以将一组字符变成另外一组字符。

    标准输入 stdin

    常见参数

    [root@rhce test]# tr --help用法:tr [选项]... SET1 [SET2]Translate, squeeze, and/or delete characters from standard input,writing to standard output.  -c, -C, --complement    use the complement of SET1  -d, --delete            delete characters in SET1, do not translate  -s, --squeeze-repeats   replace each sequence of a repeated character                            that is listed in the last specified SET,                            with a single occurrence of that character  -t, --truncate-set1     first truncate SET1 to length of SET2      --help		显示此帮助信息并退出      --version		显示版本信息并退出SET 是一组字符串,一般都可按照字面含义理解。解析序列如下:  \\NNN	八进制值为NNN 的字符(1 至3 个数位)  \\\\		反斜杠  \\a		终端鸣响  \\b		退格  \\f		换页  \\n		换行  \\r		回车  \\t		水平制表符  \\v		垂直制表符  字符1-字符2	从字符1 到字符2 的升序递增过程中经历的所有字符  [字符*]	在SET2 中适用,指定字符会被连续复制直到吻合设置1 的长度  [字符*次数]	对字符执行指定次数的复制,若次数以 0 开头则被视为八进制数  [:alnum:]	所有的字母和数字  [:alpha:]	所有的字母  [:blank:]	所有呈水平排列的空白字符  [:cntrl:]	所有的控制字符  [:digit:]	所有的数字  [:graph:]	所有的可打印字符,不包括空格  [:lower:]	所有的小写字母  [:print:]	所有的可打印字符,包括空格  [:punct:]	所有的标点字符  [:space:]	所有呈水平或垂直排列的空白字符  [:upper:]	所有的大写字母  [:xdigit:]	所有的十六进制数  [=字符=]	所有和指定字符相等的字符

    常用命令展示

    1. 将输入的字符小写换成大写

    [root@rhce test]# echo \"zmgaosh\" |tr \'a-z\' \'A-Z\'ZMGAOSH

    这里的‘a-z’ \’A-Z’都是集合,除此之外还有‘0-9’

    2. 实现对密码加密

    加密:

    [root@rhce test]# echo 12345 | tr \'0-9\' \'bcdefghi\'    ### 加密cdefg

    解密:

    [root@rhce test]# echo \'cdefg\' |tr \'bcdefghi\' \'0-9\'12345

    3. 使用tr删除字符

    [root@rhce test]# echo \'zmgaosh09 is me123\' |tr -d \'0-9\'zmgaosh is me[root@rhce test]#

    4. 删除多余的空行

    [root@rhce test]# cat a.txt   ## 测试文件,有空行abccd

    删除空行:

    [root@rhce test]# cat a.txt |tr -s \'\\n\'abccd

    注意: 这里只是对输出的文本删除了空行,源文件内容并没有修改

    5. 将小写变成大写

    [root@rhce test]# echo \'hello*\' |tr [:lower:] [:upper:]HELLO*

    总结

    tr命令也是比较常用的命令之一,在shell脚本中,等待用户输入Y,如果用户输入的是小写y,可以先转换成大写的Y在做比较。或者在密码文件中定好格式,当用户输入密码的时候转换成对应的格式,做对比。

    shell脚本的熟练程度,取决于对系统是否熟悉。

    赞(0) 打赏
    未经允许不得转载:爱站程序员基地 » 【shell】shell脚本肿的文本替换工具-tr