ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux基础命令---tr

Linux基础命令---tr

原创 Linux操作系统 作者:一生有你llx 时间:2018-12-03 15:37:51 0 删除 编辑

tr

删除或者更改文件中的字符串,这个指令一般需要两个字符集。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1 、语法

tr  [ 选项]  set1  set2

 

2 、选项列表

选项

说明

--help

显示帮助文档

--version

显示版本信息

-c | -C | --complement

使用SET1的补码

-d | --delete

删除字符集1中指定的内容

-s | --squeeze-repeats

将set1中重复出现的内容,替换成单次出现的内容

-t | --truncate-set1

首先将SET1按照SET2的长度截断

集合指定为字符串。大多数人代表自己。解释序列是:

序列

说明

\NNN

具有八进制值nnn的字符(1到3位八进制数字)

\\

反斜线符号

\a

可听BEL

\b

(键盘的)退格键

\f

换页

\n

换行

\r

返回

\t

水平tab

\v

垂直tab

CHAR1-CHAR2

从CHAR 1到CHAR 2的所有字符按升序排列

[CHAR*]

拷贝set2中的字符,长度为set1的长度

[CHAR*REPEAT]

重复拷贝

[:alnum:]

所有字母和数字

[:alpha:]

所有字母

[:blank:]

所有的水平空白

[:cntrl:]

所有的控制字符

[:digit:]

所有的数字

[:graph:]

所有的可打印的字符,不包括空格

[:lower:]

所有的小写字母

[:print:]

所有的可打印字符,包括空格

[:punct:]

所有标点符号

[:space:]

所有的水平和垂直空格

[:upper:]

所有的大写字母

[:xdigit:]

所有的十六进制数字

[=CHAR=]

所有等价于CHAR的字符

如果没有给出‘-d’,同时出现SET1和SET2,则会发生翻译。‘-t’只能在翻译时使用。通过在必要时重复SET1的最后一个字符,Set2被扩展到SET1的长度。Set2的多余字符将被忽略。只有[:lower:]和[:upper:]保证按升序展开;在set2翻译时使用,它们只能成对使用以指定大小写转换。‘-s’在不翻译或删除时使用SET1;压缩使用SET2,并在翻译或删除后发生。

    

3 、实例

1 )删除内容

[root@localhost   weijie]# cat 1.c

hello world, i am   david. i love linux, love code.

[root@localhost   weijie]# tr -d hello < 1.c        // 1.c 的内容输出到 tr ,然后删除出现的字符

 wrd, i am david. i v inux, v cd.                   // 这里并不是删除一个单词 hello ,而是删除出现的这 5 个字母

2 )将文件中的小写字母替换成大写

[root@localhost   weijie]# tr -s a-z A-Z < 1.c

HELO WORLD, I AM   DAVID. I LOVE LINUX, LOVE CODE.



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29270124/viewspace-2222004/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
多年物联网讲师经验,曾任职于达内、华清等公司。擅长Linux、c、java、Android、单片机、ZigBee、BLE等领域

注册时间:2018-10-21

  • 博文量
    256
  • 访问量
    182904