当前位置:家常菜>百科>科技>正文

linux tr命令

人气:271 ℃/2024-05-12 00:11:00

linux系统下tr命令是什么呢?下面是具体介绍:

1、tr命令功能:

通过使用 tr,可以非常容易地实现 sed 的许多最基本功能您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符您也可以用它来除去重复字符这就是所有 tr 所能够做的。

tr用来从标准输入中通过替换或删除操作进行字符转换tr主要用于删除文件中控制字符或进行字符转换使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。

2、tr命令简介:

tr 命令从标准输入删除或替换字符,并将结果写入标准输出。根据由 String1 和 String2 变量指定的字符串以及指定的标志,tr 命令可执行三种操作。

转换字符:

如果 String1 和 String2 两者都已指定,但 -d 标志没有指定,那么 tr 命令就会从标准输入中将 String1 中所包含的每一个字符都替换成 String2 中相同位置上的字符。

使用 -d 标志删除字符:

如果 -d 标志已经指定,那么 tr 命令就会从标准输入中删除 String1 中包含的每一个字符。

用 -s 标志除去序列;

如果 -s 标志已经指定,那么 tr 命令就会除去包含在 String1 或 String2 中的任何字符串系列中的除第一个字符以外的所有字符。对于包含在 String1 中的每一个字符,tr 命令会从标准输出中除去除第一个出现的字符以外的所有字符。对于包含在 String2 中的每一个字符,tr 命令除去标准输出的字符序列中除第一个出现的字符以外的所有字符。

3、命令格式:

tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"] < input-file

-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII

-d 删除字符串1中所有输入字符

-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串

input-file是转换文件名虽然可以使用其他格式输入,但这种格式最常用

4、字符范围:

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

举例:

去除oops.txt里面的重复的小写字符

tr -s "[a-z]"<oops.txt >result.txt

删除空行

tr -s "[\012]" < plan.txt 或 tr -s ["\n"] < plan.txt

有时需要删除文件中的^M,并代之以换行

tr -s "[\015]" "[\n]" < file 或 tr -s "[\r]" "[\n]" < file

大写到小写

cat a.txt |tr "[a-z]" "[A-Z]" >b.txt

删除指定字符

一个星期的日程表任务是从其中删除所有数字,只保留日期日期有大写,也有小写格式因此需指定两个字符范围[a-z]和[A-Z],命令tr -cs "[a-z][A-Z]" "[\012*]" 将文件每行所有不包含在[a-z]或[A-Z](所有希腊字母)的字符串放在字符串1中并转换为一新行-s选项表明压缩所有新行, -c表明保留所有字母不动原文件如下,后跟tr命令:tr -cs "[a-z][A-Z]" "[\012*]" <diary.txt

  • 前驱车怎么漂移入库?

    前驱车漂移入库的方法:1、需要一点的速度,前驱车高速的时候会有转向不足的问题;2、在过弯前把手刹的按钮按住(注意拉的时候足够就好不要拉住不放);3、进弯前用高挡(60-90)进...

    问答查看全文>>
  • 关于同性的句子 有关同性恋的爱情句子

    1、有些人会一直刻在记忆里的,即使忘记了他的声音,忘记了他的笑容,忘记了他的脸,但是每当想起他时的那种感受,是永远都不会改变的。2、我触摸不到你的温柔,却换来你的是痛心的眼眸。...

    句子查看全文>>
  • 奔腾x80油箱是多少升?

    奔腾X80油箱容积为64升,奔腾X80是一汽奔腾旗下的一款车型,以奔腾x80的2018款2.0L自动20周年纪念版为例,其长宽高分别为4620毫米、1820毫米、1695毫米,...

    问答查看全文>>
  • 3.0排量车船税多少钱?

    按发动机气缸容量,排气量收取车船税,3.0升的车辆车船税每辆3000元:1、所谓车船税,是指在中华人民共和国境内的车辆、船舶的所有人或者管理人按照中华人民共和国车船税法应缴纳的...

    问答查看全文>>
  • 别克英朗多久加冷却液?

    别克英朗每两年或4万公里加冷却液,冷却液具有防冻、防沸、防垢、防锈等功能,其中防冻只是其的功能之一,其不是只有冬天才使用,而是全年都需要使用,在一般的情况下,发动机的防冻液是不...

    问答查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2024 家常菜 All Rights Reserved. 手机版