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