tr(translate缩写)主要用于删除文件中的控制字符,或进行字符转换。
语法:tr [–c/d/s/t] [SET1] [SET2]
SET1: 字符集1
SET2:字符集2
-c:complement,用SET2替换SET1中没有包含的字符
-d:delete,删除SET1中所有的字符,不转换
-s: squeeze-repeats,压缩SET1中重复的字符
-t: truncate-set1,将SET1用SET2转换,一般缺省为-t
1、去除重复的字符
#将连续的几个相同字符压缩为一个字符
$ echo aaacccddd | tr -s [a-z]
acd
$ echo aaacccddd | tr -s [abc]
acddd
2、删除空白行
#删除空白行就是删除换行符/n
#注意:这些空白行上只有回车符,没有空格符
$ cat test.txt
I love linux!
Hello World!
Shell is worthy to been studied
#这里用换行符的转义字符\n
#注意:此处用-s删除了多余的换行符,如果用-d,则会删除所有的换行
符
$ cat test.txt | tr -s ["\n"]
I love linux!
Hello World!
Shell is worthy to been studied
#也可以用八进制符\012,\012与\n都是换行符
$ cat test.txt | tr -s "[\012]"
I love linux!
Hello World!
Shell is worthy to been studied
3、大小写相互转换
#将语句中所有的小写字母变成大写字母,其中-t可省略
$ echo "Hello World I Love You" |tr [-t] [a-z] [A-Z]
HELLO WORLD I LOVE YOU
#将语句中所有的大写字母变成小写字母
$ echo "Hello World I Love You" |tr [A-Z] [a-z]
hello world i love you
#也可以利用字符类进行转换
#[:lower:]代表小写字母,[:upper:]代表大写字母
$ echo "Hello World I Love You" |tr [:lower:] [:upper:]
HELLO WORLD I LOVE YOU
4、删除指定的字符
$ cat test.txt
Monday 09:00
Tuesday 09:10
Wednesday 10:11
Thursday 11:30
Friday 08:00
Saturday 07:40
Sunday 10:00
#现在要删除处理星期之外的所有字符
#-d代表删除,[0-9]代表所有的数字,[: ]代表冒号和空格
$ cat test.txt | tr -d "[0-9][: ]"
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
5、利用-c进行补集的替换
#有时候在文本中我们只知道要保留的一些字符,其他字符种类繁多,就可以使用补集的替换
$ cat test.txt
Monday 09:00
Tuesday 09:10
Wednesday 10:11
Thursday 11:30
Friday 08:00
Saturday 07:40
Sunday 10:00
#我们只需要星期,则思路就是除了字母,其他统统替换掉
#这里,-c:用换行符替换掉除了字母外的所有字符;-s:删除多余的换行符
cat test.txt|tr -cs "[a-z][A-Z]" "\n"
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
Linux命令之tr
时间: 2024-12-09 07:07:55
Linux命令之tr的相关文章
Linux命令之 tr col join
#tr -[ds] SET1 [SET2] 选项和参数: :没有参数,使用SET2的字符取代SET1中的字符 -d :删除SET1中包含的字符 -s :取代连续重复的字符 [email protected]:~/shell# cat file Massachusetts Virginia //没有参数,取代将字符M.V取代为K [email protected]:~/shell# cat file | tr MV K Kassachusetts Kirginia //-d参数
Linux命令之tr、tee
tr 替换或删除字符 -d 删除字符 -c 使用第一个字符集的补集,即取反-s 保留连续字符的第一个字符,删除其他字符 查看测试文件tr.txt [[email protected] tmp]# cat tr.txt abc oldboy fffERHAITdfab dd acr 示例: 1 文件中的abc转换为xyz [[email protected] tmp]# tr 'abc' 'xyz' <tr.txt xyz oldyoy fffERHAITdfxy dd xzr会把abc和xyz一
linux系统之tr命令
tr命令介绍以及使用 目录: 1.tr命令的介绍 2.tr命令格式 3tr命令使用项. 4.常见的tr命令的使用 tr命令介绍 从标准输入中翻译.压缩和/或删除字符,写入标准输出,说白了就转换和删除字符. tr命令格式 tr 参数 test1 test2 tr命令的使用项 -c, -C, –complement 用集合1中的字符串替换,要求字符集为ASCII. -d, –delete 删除集合1中的字符而不是转换 -s, –squeeze-repeats 删除所有重复出现字符序列,只保留第一个:
Linux下的tr编辑器命令详解
通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符.您也可以用它来除去重复字符.这就是所有 tr 所能够做的. 命令格式 tr [option] ["string1"] ["string2"] < file 常用的选项有:默认选项.就是没有任何选项的时候,tr默认为替换操作,就是将string1在文件中出现的字符替换为string2中
[Android ] linux命令英文缩写的含义(方便记忆)
du -sh */ reference to : http://blog.chinaunix.net/uid-27164517-id-3299073.html linux常用命令的英文单词缩写 命令缩写:ls:list(列出目录内容)cd:Change Directory(改变目录)su:switch user 切换用户rpm:redhat package manager 红帽子打包管理器pwd:print work directory 打印当前目录 显示出当前工作目录的绝对路径ps: proc
python flask初体验(一)linux命令发射器
<html> <head> <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='bootstrap.css') }}" /> <script type=text/javascript src="{{ url_for('static', filename='jquery.min.js') }}&qu
Linux命令随笔
1 Linux命令总结 2 3 man ==命令帮助; 4 help ==命令的帮助(bash的内置命令); 5 ls ==list,查看目录列表; 6 -ld:查看目录权限; 7 -l:(long)长格式显示属性; 8 -F:给不同的文件类型结尾加标识 9 -p:给目录加斜线 10 -r:(reverse)反转排序 11 -t:按时间排序 12 --color=auto 给输出的不同类型文件加不同颜色 13 -a:显示隐藏文件 14 ls -l --time-style=long-iso,显示
十年linux命令总结
十年linux命令总结 本文链接: http://codingstandards.iteye.com/blog/786653 关于命令类型划分 本表中列出了我穷尽了我所有的记忆整理出来的Linux命令,其中关于外部命令.关键字或内建命令的划分,不一定正确.有很多命令,既是内建命令也 可能是外部命令,为啥?Bash为了更高效率的执行命令和脚本,把很多外部命令以内建命令的方式实现了.我们使用type这个命令就可以知道一个命令的类 型了,如下所示: [[email protected] ~]# typ
《Linux命令应用大词典》一书,讲述729个命令,1935个例子
<Linux命令应用大词典>涵盖了Linux系统常用的命令,内容涉及基础入门.系统管理.网络管理.网络安全.服务器配置和程序编译等多方面,共计729个命令,1935个例子,内容非常全面.每一个命令都讲述了它的功能描述.命令语法.选项含义和命令实例,内容清晰明了,正所谓一书在手,万事不愁. <Linux命令应用大词典>可以作为读者学习Linux系统的参考书.案头书,遇到不懂的命令或命令选项一查即可:适合Linux爱好者.Linux系统管理工程师.培训机构教师和学生以及高等院校计算机专