位置: 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 中未找到或丢失的错误(如何修复面部毛孔粗大)

  • 拼多多闪电退货什么意思(拼多多闪电退货有运费险吗)

    拼多多闪电退货什么意思(拼多多闪电退货有运费险吗)

  • 微信群看不到自己昵称是什么原因(微信群看不到自己昵称能看到别人的)

    微信群看不到自己昵称是什么原因(微信群看不到自己昵称能看到别人的)

  • 淘宝怎么看自己的买家秀(淘宝怎么看自己等级几颗星)

    淘宝怎么看自己的买家秀(淘宝怎么看自己等级几颗星)

  • xp系统开机蓝屏怎么办(老电脑开机就0x0000007b蓝屏)

    xp系统开机蓝屏怎么办(老电脑开机就0x0000007b蓝屏)

  • OPPO手机爱奇艺分屏功能怎么用(oppo手机爱奇艺会员怎么登录)

    OPPO手机爱奇艺分屏功能怎么用(oppo手机爱奇艺会员怎么登录)

  • 抖音可以买赞吗

    抖音可以买赞吗

  • 淘宝会员名是淘宝账号吗(淘宝会员名淘宝店铺名或域名)

    淘宝会员名是淘宝账号吗(淘宝会员名淘宝店铺名或域名)

  • 苹果刷机有啥影响吗(苹果刷机会不会坏)

    苹果刷机有啥影响吗(苹果刷机会不会坏)

  • boss账号被锁定了多久才能解封(boss账号被锁定能申诉回来吗)

    boss账号被锁定了多久才能解封(boss账号被锁定能申诉回来吗)

  • 怎么设置微信语音忙线(怎么设置微信语音不响铃)

    怎么设置微信语音忙线(怎么设置微信语音不响铃)

  • 苹果无法下载提示重试(苹果手机提示无法下载)

    苹果无法下载提示重试(苹果手机提示无法下载)

  • 红米7后盖如何打开(红米7后盖如何拆)

    红米7后盖如何打开(红米7后盖如何拆)

  • 朋友圈如何推广(朋友圈如何推广白酒文案)

    朋友圈如何推广(朋友圈如何推广白酒文案)

  • ipad2018首次要充多久(ipad第一次一定要充满电再拔)

    ipad2018首次要充多久(ipad第一次一定要充满电再拔)

  • 苹果型号以d开头是什么(苹果d开头是国行的吗)

    苹果型号以d开头是什么(苹果d开头是国行的吗)

  • 微信账号已通过手机自助冻结是啥意思(微信账号已通过手机自助冻结别人可以解冻吗)

    微信账号已通过手机自助冻结是啥意思(微信账号已通过手机自助冻结别人可以解冻吗)

  • ipad更新后开不了机怎么回事(ipad更新后不能开机怎么办)

    ipad更新后开不了机怎么回事(ipad更新后不能开机怎么办)

  • 苹果x信息特效咋设置(苹果手机信息特效怎么弄)

    苹果x信息特效咋设置(苹果手机信息特效怎么弄)

  • 小米手机屏幕旋转失灵(小米手机屏幕旋转怎么设置方法)

    小米手机屏幕旋转失灵(小米手机屏幕旋转怎么设置方法)

  • 微信下载的图片在哪里(微信下载的图片为什么没有在相册)

    微信下载的图片在哪里(微信下载的图片为什么没有在相册)

  • vivoz3电池耐用吗(vivoz3手机电池耐用吗)

    vivoz3电池耐用吗(vivoz3手机电池耐用吗)

  • 华为nova5上市时间(华为nova5上市时间及上市日期)

    华为nova5上市时间(华为nova5上市时间及上市日期)

  • mate20pro充电器规格(mate20pro配的充电器)

    mate20pro充电器规格(mate20pro配的充电器)

  • 手机拍照时间怎么显示设置(手机拍照时间怎么关闭)

    手机拍照时间怎么显示设置(手机拍照时间怎么关闭)

  • Win10没有投影到这台电脑功能(win没有投影到此电脑怎么办)

    Win10没有投影到这台电脑功能(win没有投影到此电脑怎么办)

  • windows10下安装和配置nodejs环境(win10系统的安装)

    windows10下安装和配置nodejs环境(win10系统的安装)

  • 清税证明是什么要钱吗
  • 价外税和价内税的理解
  • 销售货物开票及销售收入
  • 小规模纳税人免税会计分录
  • 邮票可以抵个税吗
  • 年报后 申报报表年初数会调整吗
  • 2021小规模纳税人减免增值税
  • 法定盈余公积可以分配给股东吗
  • 企业撤资的所得税处理
  • 购销印花税会计分录
  • 票据利息科目怎么设置
  • 商品卖亏的会计分录
  • 个人所得税0申报操作流程
  • 季报所得税可以预交吗
  • 咨询费可以入账吗
  • 退税勾选后怎么申报
  • 小规模的增值税怎么算
  • 这个月只有销项没有进项怎么申报
  • 出售房产会计账务处理
  • 现金流量表怎么编制
  • 收到上年度企业所得税退税款
  • 商品房缴纳维修基金的规定
  • 原版win10系统安装方法
  • 说一下键盘
  • neotrace.exe - neotrace是什么进程 有什么用
  • bug is
  • sguard是什么
  • 小规模纳税人需要缴纳个人所得税吗
  • msstat.exe - msstat是什么进程 有什么用
  • php程序开发范例宝典光盘
  • 增值税专用发票几个点
  • 一岁宝宝喝红糖姜水
  • 泛微oa二次开发难吗
  • php 数组相加
  • 合并会计报表的编制
  • 本月增值税申报截止日
  • 成本分配明细表
  • c语言typedef的用法
  • 如何用织梦在本地搭建网站
  • 已抵扣增值税进项税额
  • 建筑工程承包合同
  • 债务豁免会计核算
  • 纳税申报的流程表
  • 银行代发工资流程
  • 专项资金会计和税务处理差异
  • 销售退货会计分录
  • 专项应付款和政府补助的区别
  • 长期股权投资股利确认时间点
  • 合同取得成本和销售费用
  • 开票确定收入分录
  • 企业所得税弥补亏损可以弥补几年
  • 公司资产业务
  • 房地产企业收到政府补助
  • SQLserver中cube:多维数据集实例详解
  • mysql字段名可以用中文吗
  • services.exe修改注册表
  • solaris11.4安装教程
  • 进程net1
  • win7系统如何删除隐藏文件
  • 在win7系统中如何用快捷键复制文件或文件夹
  • centos 安装7z
  • win8补丁官网
  • win8.1如何更改密码
  • win8系统停止服务
  • win 7电脑音箱没有声音
  • script_tool_for_windows.bat Windows 环境下的 hosts 一键部署脚本
  • opengl 绘制
  • nodejs抓取网页内容
  • linux版本控制软件
  • jquery文件上传进度条
  • 如何用python编写一个程序
  • javascript获取css
  • ajax与java使用实例
  • android 获取手机屏幕截图
  • javascript中继承
  • jquery实现原理
  • 宝鸡税务局长
  • 高铁票抵扣进项能抵扣吗
  • 粮仓计算公式
  • 深圳个体户不注销的后果
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设