echo

echo -e, -e 代表激活字符串中的转义字符. 字符串中的转义字符串有:

  • \a 发出警告声;

    1. echo -e '\a666'
    2. // 666
    3. # \a 不会输出,会使电脑发出嘟的一声警告。

  • \b 删除前一个字符;
  • \c 最后不加上换行符号;
  • \f 换行但光标仍旧停留在原来的位置;
  • \n 换行且光标移至行首;
  • \r 光标移至行首,但不换行;
  • \t 插入tab;
  • \v 与\f相同;
  • \ 插入\字符;
  • \nnn 插入nnn(八进制)所代表的ASCII字符;

    tr 字符串替换压缩和删除

    tr, translate characters, tr 对字符能够转义。可以对字符串进行替换、压缩和删除。

    语法

  1. tr (选项) (参数)

选项:

  • -d,删除所有属于第一字符集的字符。

第一字符集和第二字符集

  1. tr 第一字符集 第二字符集

tr 就是把属于第一字符集的字符转化为第二字符集。常用形式:

  1. echo '字符实例'|tr '字符实例中属于第一字符集的字符集合' ‘转化为第2字符集的集合’
  2. // 输出替换结果

大小写转化,有下面几种方法:

  1. echo 'hello world'|tr 'a-z' 'A-Z'
  2. echo 'hello world'|tr [:lower:] [:upper:]

[:lower:] 和 [:upper:] 被称为字符类,也就是 Linux 系统中帮我们预定义了一些常见的字符集合:

  1. [:alnum:]:字母和数字
  2. [:alpha:]:字母
  3. [:cntrl:]:控制(非打印)字符
  4. [:digit:]:数字
  5. [:graph:]:图形字符
  6. [:lower:]:小写字母
  7. [:print:]:可打印字符
  8. [:punct:]:标点符号
  9. [:space:]:空白字符
  10. [:upper:]:大写字母
  11. [:xdigit:]:十六进制字符

因此上面用 tr -d [:space:] 可以删除字符串中的空白符。