Linux系统tr命令详解

2023年 7月 17日 发表评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解

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系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

本文来源:www.lxlinux.net/1955.html,若引用不当,请联系修改。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: