`

linux tr命令详解

    博客分类:
  • Unix
阅读更多

        通过使用 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是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。

 

二.字符范围

        指定字符串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

 

三.实例

1.将文件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"

 

文章来源:http://blog.sina.com.cn/s/blog_58c3f7960100uttl.html

分享到:
评论

相关推荐

    linux命令详解阿手册PDF文档

    《Linux命令详解手册》是一份全面的Linux命令参考资料,它详细介绍了Linux系统中广泛使用的一系列命令,覆盖了系统管理、系统设置、文档编辑以及压缩备份等多个方面。为了方便用户查阅,该手册按照命令的功能进行了...

    Linux命令详解手册.pdf

    Linux命令详解手册是一份关于Linux操作系统下各种命令的权威指南,涵盖了系统管理、系统设置、文档编辑和压缩备份等众多方面的命令。这份手册详细列举并解释了每个命令的用途和使用方法,是Linux用户管理和维护系统...

    Linux命令详解手册

    Linux命令详解手册是一本适合Linux新手和有一定基础的用户深入学习Linux命令的指南。它详细介绍了大量的Linux命令,涵盖了系统管理、系统设置、文档编辑以及压缩备份等多个方面的操作。掌握这些命令对于理解和使用...

    Linux tr命令用法详解

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

    Linux shell tr 命令详解

    Linux shell tr 命令详解 1. 用途 tr,translate的简写,主要用于压缩重复字符,删除文件中的控制字符以及进行字符转换操作。 2. 语法 tr [OPTION]... SET1 [SET2] 3. 参数 3.1 -s 压缩重复字符 -s: squeeze-...

    Linux tr命令的使用方法

    ### Linux tr命令详解 #### 一、命令简介 `tr` 命令在Linux系统中主要用于字符替换、压缩和删除。它能够将一组字符转换为另一组字符,或者删除某些字符,是一种非常实用的文本处理工具。由于其功能强大且简洁,常...

    linux-Linux命令大全内容包含Linux命令手册详解学习搜集

    本资源"Linux命令大全"包含了516个Linux命令的详细资料,对于学习和理解Linux操作系统至关重要。下面,我们将深入探讨这个资源中涉及的一些关键知识点。 1. **命令手册**: - 在Linux世界中,命令手册(man pages...

    Linux网络设备管理命令详解.pdf

    Linux网络设备管理命令详解.pdf Linux网络设备管理命令详解.pdf是一份关于Linux操作系统中网络设备管理命令的详细介绍。该文档主要讲解了Linux网络设备管理命令的使用方法和实践操作。 Linux操作系统是基于网络...

    linux命令详解

    Linux命令详解涉及到Linux系统管理、系统设置、文档编辑以及压缩备份等多个方面,下面将详细说明这些知识点。 1. Linux系统管理命令 Linux系统管理命令主要用于对系统用户、进程、服务等进行管理。例如: - ...

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

    tr命令用于字符转换和删除。例如,将文件中的所有大写字母转换为小写: ```bash tr '[:upper:]' '[:lower:]' ``` 这些命令结合使用,能实现强大的文本处理功能。了解并熟练掌握它们,将使你在处理Linux系统的文本...

    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系统命令及其使用详解5.doc

    本篇文章将深入解析Linux中的"skill"命令及其使用方法,同时也会提及相关的"expr"和"tr"命令。 "skill"命令允许用户向运行中的进程发送信号,以控制它们的行为。默认情况下,它发送的信号是TERM(终止),但也可以...

    Linux 系统命令及其使用详解

    ### Linux系统命令及其使用详解 #### 一、时间与日期管理 - **date**:用于打印或设置系统的时间和日期。此命令可以帮助用户快速获取当前系统时间或进行手动调整。 #### 二、终端交互 - **stty -a**:查看终端...

    Linux运维命令

    ### Linux运维命令详解 #### 一、线上查询及帮助命令 **1. man** - **命令**: `man [命令]` - **功能说明**: 查看命令的手册页,提供详细的命令使用方法。`man` 是 Linux 中最常用的帮助文档查看工具之一。除了 `...

    Linux命令大全完整版.pdf

    Linux系统管理与设置命令详解 Linux系统管理命令包括但不限于用户管理、系统状态查询、进程控制、系统维护和网络服务等方面。例如: - adduser:用于添加新用户。 - chfn:更改用户信息。 - chsh:更改用户的shell...

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

    在Linux操作系统中,掌握一些基础的命令行工具对于日常管理和维护至关重要。`sort`、`uniq`和`tr`...在日常的Linux系统管理中,这些命令是不可或缺的工具,无论是数据分析、日志分析还是脚本编程,都能发挥重要作用。

    Linux文本处理命令合集

    ### Linux文本处理命令合集详解 #### diff/patch:查找/修补文本差异 - **diff** 命令用于比较两个文件之间的不同之处。 - `diff version1.txt version2.txt`:简单地列出两个文件之间的不同行。 - `diff -u ...

    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] ...

Global site tag (gtag.js) - Google Analytics