为大家准备了几道简单的小题,不知道看过这篇文章后能否做出来?(考验你能力的时候到了,接招吧。。。)

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

(0)
吼吼哈嘿吼吼哈嘿
上一篇 2017-07-22 18:02
下一篇 2017-07-22 19:09

相关推荐

  • 8-4 作业

    1.用正则表达式表示IP地址 2.用正则表达式表示手机号11 13 17 15  18 3.用正则表达式表示身份证号18   4.用正则表达式表示邮箱  

    Linux干货 2016-08-08
  • 20160808课堂练习(sed工具)

    练习: 1、  删除/etc/grub2.conf文件中所有以空白开头的行行首的空白字符 # sed 's@^[[:space:]]\+@@' /etc/grub2.cfg                    2、删除/etc/…

    Linux干货 2016-08-10
  • LVS的四种模型

    相关术语: vs:Virtual Server,Director,Dispatcher,Balancer rs:Real Server,upstream server,backend server lvs集群的类型: lvs-nat:修改请求报文的目标IP lvs-dr:操作封装新的MAC地址; lvs-tun:在原请求IP报文之外新加一个IP首部; lvs…

    Linux干货 2016-10-30
  • 日志管理

    日志管理学习笔记

    2018-02-08
  • zabbix表分区(适用于zabbix2.0.x,zabbix2.2.x和zabbix2.4.x)

    本文主要介绍了zabbix进行数据库表分区的方法:         在系统监控中,zabbix已经代替了nagios+cacti,zabbix以其良好的图形展示和高度自定义赢得了很多运维人员的喜爱。但是由于在工作中,zabbix跑的时间过长(我们公司跑了将近3年),web页面经常卡顿,监控…

    Linux干货 2015-10-27
  • Nginx的编译安装

    nginx.html Nginx的编译安装 一、Nginx的特点 二、获取并编译Nginx 三、配置主页面 四、配置编译文件时的选项及模块 一、Nginx的特点 1、Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 。它支持内核 Poll 模型,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。 2、Nginx 具…

    Linux干货 2016-03-20