千家信息网

Linux系统tr命令怎么用

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,小编给大家分享一下Linux系统tr命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux系统中tr命令可以对
千家信息网最后更新 2024年11月19日Linux系统tr命令怎么用

小编给大家分享一下Linux系统tr命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Linux系统中tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符。

语法

 tr [-cdst][--help][--version][第一字符集][第二字符集]   tr [OPTION]…SET1[SET2]

参数说明:

  • -c, –complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换

  • -d, –delete:删除指令字符

  • -s, –squeeze-repeats:缩减连续重复的字符成指定的单个字符

  • -t, –truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等

  • –help:显示程序用法信息

  • –version:显示程序本身的版本信息

字符集合的范围:

  • \NNN 八进制值的字符 NNN (1 to 3 为八进制值的字符)

  • \ 反斜杠

  • \a Ctrl-G 铃声

  • \b Ctrl-H 退格符

  • \f Ctrl-L 走行换页

  • \n Ctrl-J 新行

  • \r Ctrl-M 回车

  • \t Ctrl-I tab键

  • \v Ctrl-X 水平制表符

  • CHAR1-CHAR2 :字符范围从 CHAR1 到 CHAR2 的指定,范围的指定以 ASCII 码的次序为基础,只能由小到大,不能由大到小。

  • [CHAR*] :这是 SET2 专用的设定,功能是重复指定的字符到与 SET1 相同长度为止

  • [CHAR*REPEAT] :这也是 SET2 专用的设定,功能是重复指定的字符到设定的 REPEAT 次数为止(REPEAT 的数字采 8 进位制计算,以 0 为开始)

  • [:alnum:] :所有字母字符与数字

  • [:alpha:] :所有字母字符

  • [:blank:] :所有水平空格

  • [:cntrl:] :所有控制字符

  • [:digit:] :所有数字

  • [:graph:] :所有可打印的字符(不包含空格符)

  • [:lower:] :所有小写字母

  • [:print:] :所有可打印的字符(包含空格符)

  • [:punct:] :所有标点字符

  • [:space:] :所有水平与垂直空格符

  • [:upper:] :所有大写字母

  • [:xdigit:] :所有 16 进位制的数字

  • [=CHAR=] :所有符合指定的字符(等号里的 CHAR,代表你可自订的字符)

案例演示:

将输入字符由大写转换为小写:

 echo "HELLO WORLD" | tr 'A-Z' 'a-z' hello world

‘A-Z’ 和 ‘a-z’都是集合,集合是可以自己制定的,例如:’ABD-}’、’bB.,’、’a-de-h’、’a-c0-9’都属于集合,集合里可以使用’\n’、’\t’,可以可以使用其他ASCII字符。

使用tr删除字符:

 echo "hello 123 world 456" | tr -d '0-9' hello  world

将制表符转换为空格:

 cat text | tr '\t' ' '

字符集补集,从输入文本中将不在补集中的所有字符删除:

 echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n'  1  2  3  4

此例中,补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了。

用tr压缩字符,可以压缩输入中重复的字符:

 echo "thissss is      a text linnnnnnne." | tr -s ' sn' this is a text line.

巧妙使用tr做数字相加操作:

 echo 1 2 3 4 5 6 7 8 9 | xargs -n1 | echo $[ $(tr '\n' '+') 0 ]

删除Windows文件"造成"的’^M’字符:

 cat file | tr -s "\r" "\n" > new_file 或 cat file | tr -d "\r" > new_file

tr可以使用的字符类:

 [:alnum:]:字母和数字 [:alpha:]:字母 [:cntrl:]:控制(非打印)字符 [:digit:]:数字 [:graph:]:图形字符 [:lower:]:小写字母 [:print:]:可打印字符 [:punct:]:标点符号 [:space:]:空白字符 [:upper:]:大写字母 [:xdigit:]:十六进制字符

使用方式:

 tr '[:lower:]' '[:upper:]'

以上是"Linux系统tr命令怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0