Tr (Unix)

tr是一个类Unix操作系统中的命令。它是translatetransliterate的缩写,表示替换或删除输入数据集中特定字符。

该程序从其标准输入中读取一个字节流,并将结果写入标准输出。参数需要两组字符(通常长度相同),并用第二组中的相应元素替换第一组中的字符。例如,

tr 'abcd' 'jkmn'

a映射到jbkcmdn

字符集可以使用字符范围缩写。前面的例子可以写成:

tr 'a-d' 'jkmn'

在兼容POSIX标准的tr版本中,字符范围集合取决于语言环境的排序顺序,所以在脚本中避免使用字符范围可能更安全,因为脚本可能会在与编写时不同的语言环境下执行。范围通常可以用POSIX字符集替换,例如[:alpha:]

s标志使tr将其输出中相同相邻字符的序列压缩为单个字符。例如,

tr -s '\n'

用一个换行符替换连续的一个或多个换行符。

d标志使tr从其输入中删除指定的一组字符。在这种情况下,只使用单个字符集参数。以下命令删除回车符。

tr -d '\r'

c标志表示第一组字符的补。调用

tr -cd '[:alnum:]'

会删除所有非字母或数字字符。

tr的大多数版本,包括GNU tr和经典的Unix tr,都以单字节字符操作,不兼容Unicode。Heirloom Toolchest的实现是个例外,它提供了基本的Unicode支持。

Ruby和Perl也有一个内置的tr操作符,使用方法类似[1][2]。Tcl的string map命令更加通用,因为它将字符串映射到字符串,而tr将字符映射到字符[3]

参见

参考

  1. ^ tr (String) - APIdock. http://apidock.com. APIdock. [12 August 2015]. (原始内容存档于2008-09-26).  外部链接存在于|website= (帮助)
  2. ^ tr - perldoc.perl.org. http://perldoc.perl.org. perldoc.perl.org. [12 August 2015]. (原始内容存档于2018-04-13).  外部链接存在于|website= (帮助)
  3. ^ Tcl Built-In Commands - string manual page. https://www.tcl.tk. [12 August 2015]. (原始内容存档于2018-04-15).  外部链接存在于|website= (帮助)

外部链接

  • tr – 命令与工具(Commands & Utilities)参考,单一UNIX®规范第7期,由國際開放標準組織发布
  • tr(1)(页面存档备份,存于互联网档案馆) - Unix 8th Edition手册页。
  • tr(1) – FreeBSD通用命令(General Commands)手册页
  • tr(1) – Solaris 10用户命令(User Commands)参考手册页
  • tr(1) – Linux程序员手册页 – 用户命令(User Commands)
  • examplenow.com上的使用示例
文件系統
程序
  • at
  • bg
  • chroot
  • cron
  • fg
  • kill
  • killall英语killall
  • nice
  • pgrep
  • pkill英语pkill
  • ps
  • pstree英语pstree
  • time
  • top
用户环境
  • clear
  • env
  • exit
  • history英语history (Unix)
  • id
  • logname
  • mesg英语mesg
  • passwd
  • su
  • sudo
  • uptime
  • talk英语talk (software)
  • tput英语tput
  • uname
  • w
  • wall英语wall (Unix)
  • who
  • whoami
  • write英语write (Unix)
文本编辑
  • awk
  • banner英语banner (Unix)
  • basename
  • comm英语comm
  • csplit英语csplit
  • cut
  • diff
  • dirname
  • ed
  • ex
  • fmt英语fmt
  • fold英语fold (Unix)
  • head英语head (Unix)
  • iconv
  • join英语join (Unix)
  • less
  • more
  • nl英语nl (Unix)
  • paste英语paste (Unix)
  • sed
  • sort英语sort (Unix)
  • spell英语spell (Unix)
  • strings英语strings (Unix)
  • tail
  • tr
  • uniq英语uniq
  • vi
  • wc
  • xargs
壳层内建
网络英语Network utility
查找
文档
  • apropos英语apropos (Unix)
  • help英语help (command)
  • man
软件开发
杂项
  • bc
  • cal
  • dc
  • expr
  • lp英语lp (Unix)
  • lpr
  • sleep
  • true和false
  • yes