Linux命令(79)之tr

本文涉及的产品
转发路由器TR,750小时连接 100GB跨地域
简介: Linux命令(79)之tr

linux命令之tr

1.tr介绍
linux命令tr用于转换或删除文件中的字符。tr命令只能对标准输入进行操作,不能直接对文件进行操作

2.tr用法
tr [参数] [标准输入]

tr参数常规说明
参数 说明
-s 将多个连续的字符压缩为一个字符
-d 删除指定的字符
-t 对指定的字符进行替换
-c 将指定字符外的字符替换为指定字符
3.实例
3.1.将任一连续的a、b、c、d字符压缩为一个字符
命令:

tr -s abcd < zzz.txt

[root@rhel77 ~]# cat zzz.txt
123acb111 aaaa bbbb
123acb111 error 11111
this is a test line
aaa bbb ccc
this is a test line
aaaa bbbb cccc
1 111 111
2 222 222
1 111 111
aaa
a 1[34]5 dd
a 135 dd
a 145 dd

loveable aaaa
[root@rhel77 ~]# tr -s abcd < zzz.txt
123acb111 a b
123acb111 error 11111
this is a test line
a b c
this is a test line
a b c
1 111 111
2 222 222
1 111 111
a
a 1[34]5 d
a 135 d
a 145 d

loveable a
[root@rhel77 ~]#

3.2.将多个连续的a压缩为A
命令:

cat zzz.txt | tr -s a A

[root@rhel77 ~]# cat zzz.txt
123acb111 aaaa bbbb
123acb111 error 11111
this is a test line
aaa bbb ccc
this is a test line
aaaa bbbb cccc
1 111 111
2 222 222
1 111 111
aaa
a 1[34]5 dd
a 135 dd
a 145 dd

loveable aaaa
[root@rhel77 ~]# cat zzz.txt | tr -s a A
123Acb111 A bbbb
123Acb111 error 11111
this is A test line
A bbb ccc
this is A test line
A bbbb cccc
1 111 111
2 222 222
1 111 111
A
A 1[34]5 dd
A 135 dd
A 145 dd

loveAble A
[root@rhel77 ~]#

3.3.将多个连续的a、连续的b分别压缩为A和B
命令:

cat zzz.txt | tr -s ab AB

[root@rhel77 ~]# cat zzz.txt
123acb111 aaaa bbbb
123acb111 error 11111
this is a test line
aaa bbb ccc
this is a test line
aaaa bbbb cccc
1 111 111
2 222 222
1 111 111
aaa
a 1[34]5 dd
a 135 dd
a 145 dd

loveable aaaa
[root@rhel77 ~]# cat zzz.txt | tr -s ab AB
123AcB111 A B
123AcB111 error 11111
this is A test line
A B ccc
this is A test line
A B cccc
1 111 111
2 222 222
1 111 111
A
A 1[34]5 dd
A 135 dd
A 145 dd

loveABle A
[root@rhel77 ~]#

3.4.删除空白行
命令:

cat zzz.txt | tr -s "\n"

[root@rhel77 ~]# cat zzz.txt
123acb111 aaaa bbbb

123acb111 error 11111
this is a test line
aaa bbb ccc
this is a test line

aaaa bbbb cccc
1 111 111
2 222 222
1 111 111
aaa

a 1[34]5 dd
a 135 dd
a 145 dd

loveable aaaa
[root@rhel77 ~]# cat zzz.txt | tr -s "\n"
123acb111 aaaa bbbb
123acb111 error 11111
this is a test line
aaa bbb ccc
this is a test line
aaaa bbbb cccc
1 111 111
2 222 222
1 111 111
aaa
a 1[34]5 dd
a 135 dd
a 145 dd
loveable aaaa
[root@rhel77 ~]#

3.5.删除字符a
命令:

cat zzz.txt | tr -d a

[root@rhel77 ~]# cat zzz.txt
123acb111 aaaa bbbb

123acb111 error 11111
this is a test line
aaa bbb ccc
this is a test line

aaaa bbbb cccc
1 111 111
2 222 222
1 111 111
aaa

a 1[34]5 dd
a 135 dd
a 145 dd

loveable aaaa
[root@rhel77 ~]# cat zzz.txt | tr -d a
123cb111 bbbb

123cb111 error 11111
this is test line
bbb ccc
this is test line

bbbb cccc
1 111 111
2 222 222
1 111 111

1[34]5 dd
135 dd
145 dd

loveble
[root@rhel77 ~]#

3.6.删除字符a和b
命令:

cat zzz.txt | tr -d ab

[root@rhel77 ~]# cat zzz.txt
123acb111 aaaa bbbb

123acb111 error 11111
this is a test line
aaa bbb ccc
this is a test line

aaaa bbbb cccc
1 111 111
2 222 222
1 111 111
aaa

a 1[34]5 dd
a 135 dd
a 145 dd

loveable aaaa
[root@rhel77 ~]# cat zzz.txt | tr -d ab
123c111

123c111 error 11111
this is test line
ccc
this is test line

cccc
1 111 111
2 222 222
1 111 111

1[34]5 dd
135 dd
145 dd

lovele
[root@rhel77 ~]#

3.7.删除字符a、b和c
命令:

cat zzz.txt | tr -d abc

[root@rhel77 ~]# cat zzz.txt
123acb111 aaaa bbbb

123acb111 error 11111
this is a test line
aaa bbb ccc
this is a test line

aaaa bbbb cccc
1 111 111
2 222 222
1 111 111
aaa

a 1[34]5 dd
a 135 dd
a 145 dd

loveable aaaa
[root@rhel77 ~]# cat zzz.txt | tr -d abc
123111

123111 error 11111
this is test line

this is test line

1 111 111
2 222 222
1 111 111

1[34]5 dd
135 dd
145 dd

lovele
[root@rhel77 ~]#

3.8.把字符a、b、c替换为A、B、C
命令:

cat zzz.txt | tr -t abc ABC

其中:-t可以省略

[root@rhel77 ~]# cat zzz.txt
123acb111 aaaa bbbb

123acb111 error 11111
this is a test line
aaa bbb ccc
this is a test line

aaaa bbbb cccc
1 111 111
2 222 222
1 111 111
aaa

a 1[34]5 dd
a 135 dd
a 145 dd

loveable aaaa
[root@rhel77 ~]# cat zzz.txt | tr -t abc ABC
123ACB111 AAAA BBBB

123ACB111 error 11111
this is A test line
AAA BBB CCC
this is A test line

AAAA BBBB CCCC
1 111 111
2 222 222
1 111 111
AAA

A 1[34]5 dd
A 135 dd
A 145 dd

loveABle AAAA
[root@rhel77 ~]#

3.9.把a-z转换为A-Z
命令:

cat zzz.txt | tr -t a-z A-Z

[root@rhel77 ~]# cat zzz.txt
123acb111 aaaa bbbb

123acb111 error 11111
this is a test line
aaa bbb ccc
this is a test line

aaaa bbbb cccc
1 111 111
2 222 222
1 111 111
aaa

a 1[34]5 dd
a 135 dd
a 145 dd

loveable aaaa
[root@rhel77 ~]# cat zzz.txt | tr -t a-z A-Z
123ACB111 AAAA BBBB

123ACB111 ERROR 11111
THIS IS A TEST LINE
AAA BBB CCC
THIS IS A TEST LINE

AAAA BBBB CCCC
1 111 111
2 222 222
1 111 111
AAA

A 1[34]5 DD
A 135 DD
A 145 DD

LOVEABLE AAAA
[root@rhel77 ~]#

3.10.将字符a外的字符全部替换为X
命令:

cat zzz.txt | tr -c a X

[root@rhel77 ~]# cat zzz.txt
123acb111 aaaa bbbb

123acb111 error 11111
this is a test line
aaa bbb ccc
this is a test line

aaaa bbbb cccc
1 111 111
2 222 222
1 111 111
aaa

a 1[34]5 dd
a 135 dd
a 145 dd

loveable aaaa

————————————————
版权声明:本文为CSDN博主「小黑要上天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z19861216/article/details/132577197

目录
相关文章
|
23天前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
99 32
|
22天前
|
监控 Linux
Linux命令大全:echo与tail实现输出重定向。
这样,我们实现了使用echo和tail命令进行输出重定向的目的。在实际应用中,输出重定向技巧可节省时间,提高工作效率。希望本文内容对您了解和掌握Linux系统中echo与tail命令以及输出重定向的操作有所帮助。
91 27
|
19天前
|
消息中间件 Linux Kafka
linux命令使用消费kafka的生产者、消费者
linux命令使用消费kafka的生产者、消费者
93 16
|
1月前
|
缓存 Linux 数据安全/隐私保护
Linux环境下如何通过手动调用drop_caches命令释放内存
总的来说,记录住“drop_caches” 命令并理解其含义,可以让你在日常使用Linux的过程中更加娴熟和自如。
115 23
|
24天前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
170 12
|
1月前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
302 16
|
3月前
|
Linux
linux命令详细说明以及案例
本文介绍了常用的 Linux 命令及其详细说明和示例,包括:`ls`(列出目录内容)、`cd`(更改目录)、`rm` 和 `mv`(删除与移动文件)、`grep`(搜索文本)、`cat`(显示文件内容)以及 `chmod`(更改文件权限)。每个命令均配有功能描述、选项说明及实际案例,帮助用户更好地掌握 Linux 命令的使用方法。
194 56
|
8天前
|
Linux
linux文件重命名命令
本指南介绍Linux文件重命名方法,包括单文件操作的`mv`命令和批量处理的`rename`命令。`mv`可简单更改文件名并保留扩展名,如`mv old_file.txt new_name.txt`;`rename`支持正则表达式,适用于复杂批量操作,如`rename &#39;s/2023/2024/&#39; *.log`。提供实用技巧如大小写转换、数字序列处理等,并提醒覆盖风险与版本差异,建议使用`-n`参数预览效果。
|
8天前
|
安全 Linux 网络安全
Linux wget 常用命令详解
wget 是一款强大的命令行下载工具,支持 HTTP/HTTPS/FTP 协议。本文详细介绍其基础用法、高效下载参数、高级应用场景及参数速查。内容涵盖断点续传(-c)、后台下载(-b)、限速下载(--limit-rate)、递归下载(-r)、整站镜像(-mk)等实用功能,同时提供文件管理、网络优化与安全下载配置方法,助您高效完成各类下载任务。
|
2月前
|
Linux 定位技术
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
146 24