文章目录
- [ul]1. 将输入的字符小写换成大写
- 2. 实现对密码加密
- 3. 使用tr删除字符
- 4. 删除多余的空行
- 5. 将小写变成大写
[/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脚本的熟练程度,取决于对系统是否熟悉。