Linux TR 命令示例
【摘要】 tr 是一个用于翻译、删除或压缩重复字符的 UNIX 实用程序。它将从 STDIN 读取并写入 STDOUT。
tr 是一个用于翻译、删除或压缩重复字符的 UNIX 实用程序。它将从 STDIN 读取并写入 STDOUT。
tr 代表翻译。
句法
tr 命令的语法是:
$ tr [选项] SET1 [SET2]
翻译
如果同时指定了 SET1 和 SET2 且未指定 '-d' OPTION,则 tr 命令会将 SET1 中的每个字符替换为 SET2 中相同位置的每个字符。
1. 小写转大写
以下 tr 命令用于将小写转换为大写
$ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
tiamo
TIAMO
以下命令还将小写转换为大写
$ tr [:lower:] [:upper:]
tiamo
TIAMO
您还可以在 tr 中使用范围。以下命令使用范围将小写转换为大写。
$ tr a-z A-Z
tiamo
TIAMO
2.将大括号翻译成括号
您还可以在文件之间进行翻译。在这个例子中,我们将翻译一个带括号的文件中的大括号。
$ tr '{}' '()' < inputfile > outputfile
上述命令将从“inputfile”中读取每个字符,如果是大括号则进行翻译,并将输出写入“outputfile”。
3. 将空白转换为制表符
以下命令会将所有空格转换为制表符
$ echo "This is for testing" | tr [:space:] '\t'
This is for testing
4. 使用 -s 压缩重复字符
在示例 3 中,我们看到了如何使用制表符转换空格。但是如果连续出现两个以上的空格,那么前面的命令会将每个空格转换为一个制表符,如下所示。
$ echo "This is for testing" | tr [:space:] '\t'
This is for testing
我们可以使用 -s 选项来压缩字符的重复。
$ echo "This is for testing" | tr -s [:space:] '\t'
This is for testing
同样,您可以使用单个空格转换多个连续空格
$ echo "This is for testing" | tr -s [:space:] ' '
This is for testing
5.使用-d选项删除指定字符
tr 也可用于使用 -d 选项删除特定字符。
$ echo "the hgst tiamo" | tr -d 't'
he hgst tiamo
要从字符串中删除所有数字,请使用
$ echo "my username is 432234" | tr -cd [:digit:]
432234
此外,如果您想从文件中删除行,可以使用sed d 命令。
6. 使用 -c 选项补充集合
您可以使用 -c 选项补充 SET1。例如,要删除除数字以外的所有字符,您可以使用以下命令。
$ echo "我的用户名是 432234" | tr -cd [:数字:]
432234
7.从文件中删除所有不可打印的字符
以下命令可用于从文件中删除所有不可打印的字符。
$ tr -cd [:print:] < file.txt
8. 将文件中的所有行合并为一行
下面的命令会将所有换行符转换为空格并将结果作为单行。
$ tr -s '\n' ' ' < file.txt
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)