`

linux tr命令详解

阅读更多

    通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr 所能够做的。 
    tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。
    带有最常用选项的tr命令格式为:
tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"] < input-file
这里:
-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
-d 删除字符串1中所有输入字符。
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
input-file是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。

2、字符范围
指定字符串1或字符串2的内容时,只能使用单字符或字符串范围或列表。
[a-z] a-z内的字符组成的字符串。
[A-Z] A-Z内的字符组成的字符串。
[0-9] 数字串。
\octal 一个三位的八进制数,对应有效的ASCII字符。
[O*n] 表示字符O重复出现指定次数n。因此[O*2]匹配OO的字符串。
tr中特定控制字符的不同表达方式
速记符含义八进制方式
\a Ctrl-G  铃声\007
\b Ctrl-H  退格符\010
\f Ctrl-L  走行换页\014
\n Ctrl-J  新行\012
\r Ctrl-M  回车\015
\t Ctrl-I  tab键\011
\v Ctrl-X  \030

实例:

、将文件file中出现的"abc"替换为"xyz"

 
# cat file | tr "abc" "xyz" > new_file
 
【注意】这里,凡是在file中出现的"a"字母,都替换成"x"字母,"b"字母替换为"y"字母,"c"字母替换为"z"字母。而不是将字符串"abc"替换为字符串"xyz"。
 
2、使用tr命令“统一”字母大小写
(小写 --> 大写)
# cat file | tr [a-z] [A-Z] > new_file
(大写 --> 小写)
# cat file | tr [A-Z] [a-z] > new_file
 
3、把文件中的数字0-9替换为a-j
 
# cat file | tr [0-9] [a-j] > new_file

4、删除文件file中出现的"Snail"字符
 
# cat file | tr -d "Snail" > new_file
 
【注意】这里,凡是在file文件中出现的'S','n','a','i','l'字符都会被删除!而不是紧紧删除出现的"Snail”字符串。
 
5、删除文件file中出现的换行'\n'、制表'\t'字符
 
# cat file | tr -d "\n\t" > new_file
 
不可见字符都得用转义字符来表示的,这个都是统一的。
 
6、删除“连续着的”重复字母,只保留第一个
 
# cat file | tr -s [a-zA-Z] > new_file
 
7、删除空行
 
# cat file | tr -s "\n" > new_file
 
8、删除Windows文件“造成”的'^M'字符
 
# cat file | tr -d "\r" > new_file
或者
# cat file | tr -s "\r" "\n" > new_file
 
【注意】这里-s后面是两个参数"\r"和"\n",用后者替换前者
 
9、用空格符\040替换制表符\011
 
# cat file | tr -s "\011" "\040" > new_file
 
10、把路径变量中的冒号":",替换成换行符"\n"
 
# echo $PATH | tr -s ":" "\n"
分享到:
评论

相关推荐

    Linux tr命令用法详解

    Linux tr命令 Linux tr 命令用于转换或删除文件中的字符。 tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。 语法 tr [-cdst][--help][--version][第一字符集][第二字符集] tr ...

    Linux shell tr 命令详解

    主要介绍了Linux shell tr 命令详解的相关资料,需要的朋友可以参考下

    Linux重点命令(sed、awk、grep、tr等)详解教程大全.docx

    Linux重点命令(sed、awk、grep、tr等)详解教程大全

    Linux traceroute命令使用详解

    traceroute我们可以知道信息从你的计算机到互联网另一端...常见命令参数 Options: -4 Use IPv4 -6 Use IPv6 -d --debug Enable socket level debugging -F --dont-fragment Do not fragment packets -f first_ttl

    Linux命令 sort、uniq、tr工具详解

    主要介绍了Linux命令 sort、uniq、tr工具详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    Linux mattrib命令用法详解

    Linux mattrib命令 Linux mattrib命令用来变更或显示MS-DOS文件的属性。 mattrib为mtools工具指令,模拟MS-DOS的attrib指令,可变更MS-DOS文件的属性。 语法 mattrib [-a|+a] [-h|+h] [-r|+r] [-s|+s] [-/] [-X] ...

    Linux tree命令用法详解

    Linux tree命令 Linux tree命令用于以树状图列出目录的内容。 执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。 语法tree [-aACdDfFgilnNpqstux][-I ][-P ][目录...] 参数说明: -a 显示所有文件...

    Linux pstree命令用法详解

    Linux pstree命令 Linux pstree命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。 使用权限:所有...

    Linux命令搜索工具linux-command.zip

    Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。   Linux命令分类 这里存放Linux 命令大全并不全,你可以通过linux-command来搜索,它是把 command 目录里面搜集的...

    Linux课堂笔记.pdf

    一、操作系统概述 1、 操作系统 2、 不同应用利于的主流操作系统二、系统安装 1、安装VM虚拟机 1.1 简要介绍 1.2 配置网卡 2、 配置网卡信息 3、 Linux目录详解 ...2.8.10 tr命令 2.8.11 split命令 2.8.12 awk命令

    Linux mkinitrd命令用法详解

    Linux mkinitrd命令 Linux mkinitrd命令用于建立要载入ramdisk的映像文件。 mkinitrd可建立映像文件,以供Linux开机时载入ramdisk。 语法 mkinitrd [-fv][--omit-scsi-modules][--version][--preload=][--with=]...

    Linux chattr命令用法详解

    Linux chattr命令 Linux chattr命令用于改变文件属性。 这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式: a:让文件或目录仅供附加用途。 b:不更新文件或目录的最后存取时间。 c:...

    Linux traceroute命令用法详解

    Linux traceroute命令 Linux traceroute命令用于显示数据包到主机间的路径。 traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。 语法traceroute [-dFlnrvx][-f][-g...][-i][-...

    Linux mdeltree命令用法详解

    Linux mdeltree命令 Linux mdeltree命令可用来删除 MSDOS 格式档案及目录。 mdeltree 会将所指定的目录与目录之下的所有档案与目录都删除掉。如果所指定的档案或目录不存在,则会传回错误讯息。 语法 mdeltree [-v] ...

    Liunx系统命令中tree命令详解

    介绍 tree 命令英文理解为树的意思,其功能是是创建文件...tree命令详解  -a 显示所有文件和目录。  -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。  -C 在文件和目录清单加上色彩,便于区分各种类型。  

    一天一个shell命令 linux文本操作系列-tree命令详解

    通常linux发行版本中并没有包括这个命令。你需要用包管理器自行安装。 实例: 1. tree 打印当前目录下所有文件 2. tree –p ${dir} 打印dir目录下所有文件,以及他们的权限 3. tree –h ${dir} 打印dir目录下所有...

    Linux环境下DB2V10.5安装详解以及DB2数据还原远程编目

    自己实际操作整理的Linux下安装DB2,以及数据库还原,导入方法命令。使用Xshell操作的。全程使用Linux命令操作。

    详解linux中的strings命令简介

    在Linux下搞软件开发的朋友, 几乎没有不知道strings命令的。我们先用man strings来看看: strings - print the strings of printable characters in files.  意思是, 打印文件中可打印的字符。 我来补充一下吧...

Global site tag (gtag.js) - Google Analytics