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

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
下一篇 2017-07-22

相关推荐

  • Linux基础 & bash相关

    Q1:Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理类命令: cd, ls, touch, cp, mv, rm, cat, tac, more, less, tail, head; 详细介绍以上命令: cd: 在Linux文件系统上,可以使用切换目录命令cd将shell会话切换到另一个目录。 命令格式: ~]#&nbsp…

    Linux干货 2016-11-06
  • 浅述sed命令

    1、sed工作原理       sed(stream editor)是一种流编辑器,本身也是一个管道命令,可以分析编辑标准输入(standard input),包括对数据进行替换、删除、新增、选取特定行等等。运行时以行为单位,每次只处理一行的内容,因此它又被称为行编辑器。sed还可与正则表达式配合使用,从而简…

    Linux干货 2016-08-10
  • DNS and Bind

    DNS and Bind ===================================================================================== 概述:    DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使…

    Linux干货 2016-10-10
  • grub legacy、内核编译

    grub legacy grub: GRandUnified Bootloader    grub 0.x: grub legacy    grub 2.x: grub2 grub legacy:        stage1: m…

    Linux干货 2016-09-13
  • 大话命令之–ss

    大话命令之—ss ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。 优势: (1)显示更多更详细的有关TCP和连接状态的信息,(2)比netstat更快速更高效。 1 格式 格式:ss    [option]… &nbs…

    Linux干货 2017-05-15
  • bash之脚本入门及课后作业

    概述: shell是一个工具程序,在用户登录后后系统启动,它解释并运行由命令或脚本文件输入的命令,从而实现用户与内核之间的交互。bash是Linux操作系统上默认的shell,在交互和编程两方面,bash提供了许多Bourne shell没有的功能,并且还结合了C shell和Kron shell最有用的功能。 bash的语法和结构   …

    Linux干货 2016-08-15