tr命令
tr命令是linux下一个字符处理命令,用途:
字符替换
字符删除
字符压缩
形式:tr [OPTION]... SET1 [SET2]
接口:输入输出都是标准流,所以要通过管道来调用这个命令
参数:
-c 对SET1取补集,在进行一切操作之前,对SET1取补集.
-d 删除SET1中的全部字符,不进行字符替换
-s 压缩重复字符,例如wweeedd压缩之后变成wed
-t 对SET1进行截断,使之与SET2等长
字符删除和字符替换两个功能不可共用,只能选择其一来用(字符替换只发生在没有-d参数且SET1和SET2都出现时).字符压缩和字符删除可以共用,字符压缩和字符替换可以共用.
-t只能用于字符替换.进行字符替换时,如果SET2偏长,那就截断到与SET1等长;如果偏短,那就重复SET2的最后一个字符,直到与SET1等长.
用-s压缩重复字符时,如果没使用删除字符和替换字符这两个功能,那就用SET1来压缩.否则,先进行删除或者替换,然后按照SET2进行压缩字符.
-c和-t这两个命令就是对SET1进行一下处理.
例子:
x='1212334341223'
echo $x | tr 1234 abcd 把1转换成a,把2转换成b,把3转换成c,把4转换成d
字符集的表示方法
支持转义:\NNN(3位八进制表示ascii码),c语言里面的转义基本都支持,如响铃\a,退格\b,换行\n,回车\r,制表\t\v.
CHAR1-CHAR2:从CHAR1到CHAR2之间的全部字符
预定义的表示方法
[:alnum:]字母集+数字集
[:alpha:]字母集,[:upper:]和[:lower:]大小写字符集
[:digit:]数字集,[:xdigit:]十六进制字符集
[:blank:]水平空字符集,[:space:]水平空字符集+竖直空字符集
[:cntrl:]控制字符集
[:print:]一切可打印的字符,[:graph:]除空格外的全部可打印字符
[:punct:]符号集
tr命令的更多相关文章
- Linux tr命令
介绍 tr命令可以对来自标准输入的字符进行替换.压缩和删除.tr只能接收来自标准的输入流,不能接收参数. 语法 tr [OPTION]... SET1 [SET2] 注意:SET2是可选项 OPTIO ...
- linux sort,uniq,cut,wc,tr命令详解
sort是在Linux里非常常用的一个命令,对指定文件进行排序.去除重复的行 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sor ...
- linux tr命令详解
通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符.您也可以用它来除去重复 ...
- tr 命令 操作字符串中字符 删除替换 等
ip=$(cat ${path}initOauth/initinfo.txt |awk '{if(NR==1)print $0;}'|tr -d '\r'); tr命令可以对来自标准输入的字符进行替换 ...
- 《tr命令-优化版》-linux命令五分钟系列之二十五
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- 《tr命令》-linux命令五分钟系列之六
本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...
- tr命令的使用
tr是translate的简写,亦即翻译,但是遗憾的是,它不能翻译句子,只能翻译单个字符. 1 tr的工作原理是什么? 先记住一点,tr命令不接受指定的文件参数,而只是对标准输入进行翻译.好了,记住这 ...
- Linux tr 命令使用
man tr: TR(1) User Commands TR(1) NAME tr - translate or delete characters SYNOPSIS tr [OPTION]... S ...
- linux的tr命令
tr(translate缩写)主要用于删除文件中的控制字符,或进行字符转换. 语法 tr [ -c | -cds | -cs | -C | -Cds | -Cs | -ds | -s] [ -A] S ...
随机推荐
- CoCreateInstance调用COM接口伪流程
在编写组件程序时,经常会使用CoCreateInstance直接取COM组件的接口,非常方便,那CoCreateInstance到底干了些什么事呢?1.CoCreateInstance取COM组件的接 ...
- Linux 中如何卸载已安装的软件(转载)
Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实 ...
- 《Invert》开发日志02:游戏风格定型
声明:以下涉及到的<God of Light>.<Valiant Hearts : The Great War>.<Angry Birds 2>游戏截图均来自其Ap ...
- openjudge1768 最大子矩阵[二维前缀和or递推|DP]
总时间限制: 1000ms 内存限制: 65536kB 描述 已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵. 比如,如下4 * 4的 ...
- Editor扩展之查看Prefab用在那儿
Prefab查找需求 在项目开发阶段的中后期,工程中有越来越多的Prefab,当我们要修改一个prefab或删除无用的prefab时,或许我们不是那么清楚该prefab在那些场景中使用着或从未使用过, ...
- [No00000B]MS OFFICE 2013 快捷键大全
常用快捷键 快捷键 作用 Ctrl+Shift+Spacebar 创建不间断空格 Ctrl+-(连字符) 创建不间断连字符 Ctrl+B 使字符变为粗体 Ctrl+I 使字符变为斜体 Ctrl+U 为 ...
- Linux强化论:15步打造一个安全的Linux服务器
Linux强化论:15步打造一个安全的Linux服务器 Alpha_h4ck2016-11-30共28761人围观 ,发现 8 个不明物体专题系统安全 可能大多数人都觉得Linux是安全的吧?但我要告 ...
- javascript中在链表中向前(向后)移动n个节点
1.概念 在链表上移动n个节点,我第一眼看到这个需求的时候首先想到的是当前节点.使用这个当前节点作为参考来移动,没有这个当前节点的话是没有办法在链表上前进和后退的.初始化定义链表的时候定义一个当前节 ...
- PAT 1031. 查验身份证(15)
一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...
- WEBAPI 怎么保证安全
先记录下 客户端登陆,服务端验证然后生成session,客户端每次调用接口的时候都把session带过去.服务端路由请求的时候都去验证session. 另外一种app的做法是,参数+用户名密码做s ...