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 ...
随机推荐
- 初学git,出现错误:fatal: Not a git repository (or any of the parent directories): .git
提示说没有.git这样一个目录,解决办法: 输入 git init 就可以啦.
- linux线程同步(2)-条件变量
一.概述 上一篇,介绍了互斥量.条件变量与互斥量不同,互斥量是防止多线程同时访问共享的互斥变量来保 ...
- c++11 新特性之lambda表达式
写过c#之后,觉得c#里的lambda表达式和delegate配合使用,这样的机制用起来非常爽.c++11也有了lambda表达式,形式上有细小的差异.形式如下: c#:(input paramete ...
- [转]Dropdownlist doesn't postback after Page_ClientValidate()
本文转自:http://stackoverflow.com/questions/2083929/dropdownlist-doesnt-postback-after-page-clientvalida ...
- CF722D. Generating Sets[贪心 STL]
D. Generating Sets time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- Luogu题目集合[6/未完待续]
1. P1327数列排序 题目描述 给定一个数列{an},这个数列满足ai≠aj(i≠j),现在要求你把这个数列从小到大排序,每次允许你交换其中任意一对数,请问最少需要几次交换? 输入输出格式 输入格 ...
- 第15章 设备无关位图_15.2 显示和打印DIB
15.2.1 探究DIB (1)DIB文件的结构 整个文件 紧凑DIB(整个文件除文件头) 文件头(File Header) 信息头(Information Header) 信息头(Informati ...
- TC(Total Commander)文件管理神器
TC文件管理神器 Total Commander是一个会显著提高文件操作效率的工具,而文件操作是应用计算机最基本的功夫,也是伴随一生的操作.因此花一点时间学习,而会受益一世. Total Comman ...
- jvm虚拟机性能监控与故障处理工具
java开发人员肯定知道jdk的bin目录中有java.exe javac.exe这两个命令行工具,但并非所有程序员都了解过jdk的bin目录之中其他命令行的作用.jdk的工具,体积都比较小,这些命令 ...
- 使用adb shell卸载程序
个人感觉在命令行中卸载程序要比在手机界面卸载程序要方便许多,配合命令行下的报名查看包名的命令就更加方便了. 1.查看应用准确包名 adb shell pm list package -f |grep ...