为大家准备了几道简单的小题,不知道看过这篇文章后能否做出来?(考验你能力的时候到了,接招吧。。。)
1、将0-9分别替代成a-j
2、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
3、计算1+2+3+..+99+100的值
4、处理字符串“xt.,l 1 jr#!$mn
2 c*/fe 3 uz 4”,只保留其中的数字和空格
5、将PATH变量每个目录显示在独立的一行
下面就来说说tr是什么:
tr:可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令。
语法:tr [选项] [参数]
选项:
-c:第一字符集的补集。
-d:删除字符集一里的字符。
-s:删除‘连续着的’重复字符,只保留第一个。
-t:若第一字符集的字符多于第二字符集的字符,那么多出的字符还以原样输出;若第一字符集的字符少于第二字符集的字符,那么第二字符集的字符按照第一字符集的字 符位数替换输出,第二字符集多出的字符不输出。
参数:
字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”;
字符集2:指定要转换成的目标字符集。
字符:
[:alnum:] 字母和数字
[:alpha:] 字母
[:digit:] 数字
[:lower:] 小写字母
[:space:] 空白字符
[:upper:] 大写字母
[:graph:] 图形字符
[:xdigit:] 十六进制字符
示例:
1. echo “hello world” |tr ‘a-z’ ‘A-Z’ (将小写字符替换成大写字符;反之(tr ‘A-Z’ ‘a-z’),将大写字符替换成小写字符)
2.tr ‘abc’ ‘xyz’
3.tr -s ‘a-z’ (-s 删除重复字符,只保留一个)
4. echo “haha 1234” |tr -d [:alpha:] (-d 删除字母。)
5. echo “haha 9876” |tr -cd [:alpha:] (-c 删除补集,反向选择)
6. 利用tr做个小计算
echo {1..10} |tr ‘ ‘ ‘ + ‘ |bc
7. 利用tr进行换行
通过这几个示例看懂了tr了么?上面的题是不是都会做呢?对对答案吧
(提示:
1. tr ‘0-9’ ‘a-j’
2. cat /etc/issue |tr ‘a-z’ ‘A-Z’ > /tmp/issue.out
3. echo {1..100} |tr ‘ ‘ ‘+’ |bc
4. echo ‘”xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4″‘ |tr -cd [:digit:][:space:]
5. echo $PATH |tr ‘:’ ‘\n’
)
原创文章,作者:吼吼哈嘿,如若转载,请注明出处:http://www.178linux.com/82183