位置: IT常识 - 正文

Linux系统中tr命令的基本使用教程(linux tr)

编辑:rootadmin
这篇文章主要介绍了Linux中用于替换或删除字符的tr命令学习教程,tr命令多被用于替换或删除字符,对于文本的修改和输出有着很大的帮助,需要的朋友可以参考下... 16-03-05

推荐整理分享Linux系统中tr命令的基本使用教程(linux tr),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux tr命令详解,linux trim命令,linux tr命令详解,linux trim命令,linuxtr命令,linux tr,linux中的tr命令,linux tr命令详解,内容如对您有帮助,希望把文章链接给更多的朋友!

用法:tr [选项]... SET1 [SET2]从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。

-c, -C, --complement 首先补足SET1 -d, --delete 删除匹配SET1 的内容,并不作替换 -s, --squeeze-repeats 如果匹配于SET1 的字符在输入序列中存在连续的 重复,在替换时会被统一缩为一个字符的长度 -t, --truncate-set1 先将SET1 的长度截为和SET2 相等 --help 显示此帮助信息并退出 --version 显示版本信息并退出

SET 是一组字符串,一般都可按照字面含义理解。解析序列如下:

\NNN 八进制值为NNN 的字符(1 至3 个数位) \\ 反斜杠 \a 终端鸣响 \b 退格 \f 换页 \n 换行 \r 回车 \t 水平制表符 \v 垂直制表符 字符1-字符2 从字符1 到字符2 的升序递增过程中经历的所有字符 [字符*] 在SET2 中适用,指定字符会被连续复制直到吻合设置1 的长度 [字符*次数] 对字符执行指定次数的复制,若次数以 0 开头则被视为八进制数 [:alnum:] 所有的字母和数字 [:alpha:] 所有的字母 [:blank:] 所有呈水平排列的空白字符 [:cntrl:] 所有的控制字符 [:digit:] 所有的数字 [:graph:] 所有的可打印字符,不包括空格 [:lower:] 所有的小写字母 [:print:] 所有的可打印字符,包括空格 [:punct:] 所有的标点字符 [:space:] 所有呈水平或垂直排列的空白字符 [:upper:] 所有的大写字母 [:xdigit:] 所有的十六进制数 [=字符=] 所有和指定字符相等的字符

仅在SET1 和SET2 都给出,同时没有-d 选项的时候才会进行替换。仅在替换时才可能用到-t 选项。如果需要SET2 将被通过在末尾添加原来的末字符的方式补充到同SET1 等长。SET2 中多余的字符将被省略。只有[:lower:] 和[:upper:]以升序展开字符;在用于替换时的SET2 中以成对表示大小写转换。-s 作用于SET1,既不替换也不删除,否则在替换或展开后使用SET2 缩减。

tr命令中的参数 -c 比较实用,可以用字符串1中字符集的补集替换此字符集,要求字符集为A S C I I。然后在终端上试了一条命令:

代码如下:tr -cs "[a-z][A-Z]" "[\012*]" <diary.txt

这是将文件 diary.txt 内的非字符数据转换成换行符,然后用 -s 选项删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。

后来仔细看这条命令时,发现在 \012 后面加了个 * ,当我去掉这个 * 时,再运行,发现得出的结果全在同一行,并且用 ] (左中括号)隔开,然后我又试着 用 \n 代替 \012,发现也是只有在 \n 后加 * 才得出正确的结果。后来将中括号去掉。这是不要 * 时可以输出正确结果,发而加了 * 后会将结果都输出在一行,中间用 * 隔开。

猜想:是否在加中括号后,里面的特殊字符后都要加 *,无论是用字母表示的,还是用八进制数表示的。

Linux系统中tr命令的基本使用教程(linux tr)

下面再举一些例子:

代码如下:[root@localhost zhangy]# echo "TANK" |tr A-Z a-z #大写字母转小写

tank

代码如下:[root@localhost zhangy]# echo 'tank zhang' | tr a-z A-Z #小写字线转大写

TANK ZHANG

代码如下:[root@localhost zhangy]# cat aaa.txt #原文件

aaa

bbb

代码如下:[root@localhost zhangy]# cat aaa.txt|tr 'a' 'c' #字母c替换字母a

ccc

bbb

代码如下:[root@localhost zhangy]# cat aaa.txt|tr -d 'a' #删除所有字母a

bbb

代码如下:[root@localhost zhangy]# cat aaa.txt|tr -d '\n\t' 删除文件file中出现的换行'\n'、制表'\t'字符

aaabbb

代码如下:[root@localhost zhangy]# cat aaa.txt|tr -s [a-zA-Z] #删除重复的字母

a

b

代码如下:[root@localhost zhangy]# cat aaa.txt|tr -s '\n' #删除空行

aaabbb

代码如下:[root@localhost zhangy]# cat aaa.txt |tr -s '\011' '\040' #用空格符\040替换制表符\011

aaa

bbb

代码如下:# tr a c < test #将test文件中的a变成c
本文链接地址:https://www.jiuchutong.com/zhishi/278397.html 转载请保留说明!

上一篇:Win10组策略阻止了这个程序怎么办(组策略阻止了这个程序0x800704ec)

下一篇:如何修复Crypt32.dll 在 Windows 11/10 中未找到或丢失的错误(如何修复面部毛孔粗大)

  • 页眉页脚边距在哪里设置(页眉页脚边距在哪找)

    页眉页脚边距在哪里设置(页眉页脚边距在哪找)

  • word怎么删除指定页面(word怎么删除指示箭头)

    word怎么删除指定页面(word怎么删除指示箭头)

  • 爱奇艺注销了怎么解冻(爱奇艺注销了怎么查id)

    爱奇艺注销了怎么解冻(爱奇艺注销了怎么查id)

  • 苹果相机连拍在哪里设置(苹果相机连拍在哪里关闭)

    苹果相机连拍在哪里设置(苹果相机连拍在哪里关闭)

  • 微信什么时候可以改第二次微信号(微信什么时候可以转账)

    微信什么时候可以改第二次微信号(微信什么时候可以转账)

  • 微信可以在别的手机上登录吗(微信可以在别的国家使用吗)

    微信可以在别的手机上登录吗(微信可以在别的国家使用吗)

  • 闲鱼二手可以申请售后吗(闲鱼二手可以申请发票吗)

    闲鱼二手可以申请售后吗(闲鱼二手可以申请发票吗)

  • ipad一直激活失败(ipad一直激活失败怎么回事)

    ipad一直激活失败(ipad一直激活失败怎么回事)

  • 抖音更换手机号码有影响吗(抖音更换手机号码原来的不用了怎么办)

    抖音更换手机号码有影响吗(抖音更换手机号码原来的不用了怎么办)

  • 苹果手机怎么下载两个微信软件(苹果手机怎么下一行打字)

    苹果手机怎么下载两个微信软件(苹果手机怎么下一行打字)

  • 苹果相册编辑怎么涂鸦(苹果相册编辑怎么打马赛克)

    苹果相册编辑怎么涂鸦(苹果相册编辑怎么打马赛克)

  • 快手超级管理员有几个(快手超级管理员怎么设置)

    快手超级管理员有几个(快手超级管理员怎么设置)

  • 华为lldtl10是什么型号(华为lld-tl10)

    华为lldtl10是什么型号(华为lld-tl10)

  • u盘属于什么类目(u盘属于什么类档案)

    u盘属于什么类目(u盘属于什么类档案)

  • 8g内存和16g内存差别(8g内存和16g内存玩游戏差别)

    8g内存和16g内存差别(8g内存和16g内存玩游戏差别)

  • 京东到家支持门店自提吗(京东到家门店共赢二维码)

    京东到家支持门店自提吗(京东到家门店共赢二维码)

  • xdr屏幕是什么(xdr屏是什么意思)

    xdr屏幕是什么(xdr屏是什么意思)

  • 苹果11几个摄像头(苹果14摄像头)

    苹果11几个摄像头(苹果14摄像头)

  • 网络报警怎么报警(网络报警怎么报案流程)

    网络报警怎么报警(网络报警怎么报案流程)

  • 右移运算符(python右移运算符)

    右移运算符(python右移运算符)

  • 微软开始在 Win11 上测试 Win10 经典右键菜单的新型设计,更加干净整洁(微软windows11iso)

    微软开始在 Win11 上测试 Win10 经典右键菜单的新型设计,更加干净整洁(微软windows11iso)

  • pavsched.exe是什么进程 pavsched进程查询(pax是什么文件)

    pavsched.exe是什么进程 pavsched进程查询(pax是什么文件)

  • 开源项目ChatGPT-website再次更新,累计下载使用1600+(开源项目网站)

    开源项目ChatGPT-website再次更新,累计下载使用1600+(开源项目网站)

  • 大数据分析案例-基于决策树算法构建金融反欺诈分类模型(大数据分析案例结论)

    大数据分析案例-基于决策树算法构建金融反欺诈分类模型(大数据分析案例结论)

  • 什么时候计提企业所得税
  • 职工薪酬纳税调减的情况
  • 息税前利润和销售利润
  • 个人所得税有哪些减免政策
  • 劳务费发票可以抵扣进项税吗
  • 清包工可以有一部分小料吗
  • 子公司利润母公司要交税吗?
  • 银行入息是入几个月的
  • 别人给开的普通发票能抵扣多少税
  • 纳税申报表销售额可以是负数吗
  • 上级工会返还的经费记什么收入
  • 其他应付款在现金流量表中应该填哪里
  • 股东转钱到公司怎么备注
  • 营改增后哪些费用可以抵扣
  • 固定资产转售
  • 发票开具税收分类是什么意思?
  • 建筑业简易征收差额征税的计算案例
  • 问福利费的发票如果是增值税专用发票,增值税可以抵扣吗?
  • 将商业承兑汇票进行贴现 符有追索权的会计分录
  • 销售已作进项税转出的固定资产怎样缴税?
  • 银行存款利息的计算方法
  • 去年多计提的个税如何处理
  • 华为鸿蒙系统超级终端怎么用
  • 进项票月初收到能抵上月
  • 个体户税务申报需要什么资料和手续
  • 光纤布线有什么作用
  • mac电脑键盘进水,键盘不可以用了
  • 公司有长期挂账的权利吗
  • 笔记本win10玩红警怎么全屏
  • 即期结售汇期限包括
  • 电脑怎样设置共享文件夹
  • php比较两个字符串
  • 购买财务软件会有操作流程吗
  • 房地产公司土地在资产负债表列入
  • 进项税额不得抵扣的情况有哪些
  • 商品流通企业库存商品的核算方法主要有
  • 以前年度损益调整在利润表中怎么填
  • css怎样设置行间距
  • vue角色管理
  • 员工辞退补偿金需要交个税吗
  • 对公账户的种类有几种
  • python多态的概念
  • SQL Server 2008 Express如何开启远程访问
  • dedecms下载
  • 怎么防止?
  • 入伙和退伙的法律效力
  • 当月销售次月开票怎么做账
  • 提取法定盈余公积会影响留存收益吗
  • 个人无需办理汇票业务
  • 异地设立分公司怎么办理?
  • 交付使用资产是否含税
  • 全资子公司的利润怎么记录母公司报表
  • 销售退货的会计账怎么处理
  • 外资企业贷款条件
  • 设置资产处置损益的依据
  • 应收其他应收区别
  • mysql unique option prefix myisam_recover instead of myisam-recover-options的解决方法
  • win2000系统安装教程
  • debian系统
  • centos7 pptp搭建
  • linux ./执行
  • xp系统怎么设置网络传输文件
  • 史上最详细的mrtg(Multi Router Traffic Grapher)设置说明
  • window8设置在哪里
  • win10关闭metro界面
  • linux强大的网络功能
  • python中判断
  • linux中awk用法详解
  • for语句中的++i
  • 适用于分析原因的工具有哪些
  • jQuery插件在使用前都需要引入jQuery的js文件
  • array 和list
  • jquery点击复制
  • winpe文件下载
  • js构造器constructor
  • 河南省地方税务局公告2017年第4号
  • 企业所得税年报资产总额平均值怎么填写
  • 个税纳税证明在哪里开
  • 计算消费税为什么要除1-比例税率
  • 建安企业异地个税怎么交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设