tr

对stdin字符进行替换、删除和压缩,基本形式
tr [options] set1 set2
将输入的字符串中的set1字符转换为set2中对应位置的字符
set1、set2表示字符集,如果set1字符集长度大于set2,set2使用自身最后一个字符填充补齐,如果set2长度大于set1,set2超出的部分全部被忽略

转换大小写

echo "HELLO" | tr 'A-Z' 'a-z'
将大写字母转换为小写字母

cat sum.txt | echo $[ $(tr '\n' '+' ) 0 ]
sum.txt中每一行包含一个数字,求出所有行的和,$[]用来执行算术运算,$()和``(反引号)一样,里面的内容会被拿出来当做命令执行,执行的结果取代该位置

转码

echo 12345 | tr '0-9' '987654321'
将0转换为9,1转换为8...

删除字符

echo "hello 123" | tr -d '0-9'
删除输入中的数字

字符集补集

echo "hello 123" | tr -d -c '0-9'
删除输入中除数字外的其他字符,也就是只保留数字字符,-c set表示set对于输入字符集合的补集

压缩字符

echo "hello world, goodl luck!" | tr -s ' '
-s压缩连续相同的字符,也就是删除连续相同的字符只剩一个

tr可以像使用集合一样使用各种不同的字符类

字符类:

  • alnum:字母和数字
  • alpha:字母
  • cntrl:控制字符(非打印字符)
  • digit:数字
  • graph:图形字符
  • lower:小写字母
  • upper:大写字母
  • print:可打印字符
  • punct:标点符号
  • space:空白字符
  • xdigit:十六进制字符

基本形式:
tr [:class:] [:class:class]

例如:
echo "hello" | tr [:lower:] [:upper:]

linux 命令 — tr的更多相关文章

  1. Linux命令-tr

    tr命令用于转换文本文件中的字符 [root@localhost test]# cat .txt abcdefg asdfoui asdfqer [root@localhost test]# cat ...

  2. Linux shell tr 命令详解

    该随笔摘自 https://www.jb51.net/article/103892.htm Linux shell tr 命令详解 1. 用途 tr,translate的简写,主要用于压缩重复字符,删 ...

  3. Linux命令随笔

    Linux命令总结 man ==命令帮助; help ==命令的帮助(bash的内置命令); ls ==list,查看目录列表; -ld:查看目录权限; -l:(long)长格式显示属性; -F:给不 ...

  4. 第2章 新手必须掌握的Linux命令

      第2章 新手必须掌握的Linux命令 章节简述: 本章节讲述系统内核.Bash解释器的关系与作用,教给读者如何正确的执行Linux命令以及常见排错方法. 经验丰富的运维人员可以恰当的组合命令与参数 ...

  5. Linux命令整理中...

    Linux命令整理中... 最常用命令(我最近最常用的一般放在前面tipsbychsry) clear 清屏 date 显示日期 cal 显示日历 cal 2014 显示2014年的日历 shutdo ...

  6. Linux 命令小记

    1. pidof 进程名 :获取进程的pid,例如 pidof memcached 得到5333 2. unset Shell变量 :取消设置一个shell变量,从内存和shell的导出环境中删除它, ...

  7. [Android ] linux命令英文缩写的含义(方便记忆)

    du -sh */ reference to : http://blog.chinaunix.net/uid-27164517-id-3299073.html linux常用命令的英文单词缩写 命令缩 ...

  8. 工作中常用的Linux命令:目录

    工作两三年,每天都和Linux打交道,但每每使用Linux命令的时候却会像提笔忘字般不知如何使用,常常查手册或到网上找资料.此系列文章主要是为了方便自己在使用命令时随时可查阅.鄙人才疏学浅,文中若有任 ...

  9. 运维工程师必会的109个Linux命令

    运维工程师必会的109个Linux命令 版本1.0 崔存新 更新于2009-12-26 目录 1 文件管理 6 1.1 basename 6 1.2 cat 6 1.3 cd 7 1.4 chgrp ...

随机推荐

  1. 学习Acegi应用到实际项目中(6)

    在企业应用中,用户的用户名.密码和角色等信息一般存放在RDBMS(关系数据库)中.前面几节我们采用的是InMemoryDaoImpl,即基于内存的存放方式.这节我们将采用RDBMS存储用户信息. Us ...

  2. VS2017 Debug断点后显示UTF8字符串

    断点后跟踪字幕文件文本,因为国内字幕一般是UTF8的,VS默认显示不出来,在变量上双击,加入 ,s8就可以了 默认 修改后 其他 ,数字  将变量拆分为数组显示, 数字是要显示多少位, 此法对cons ...

  3. apache学习笔记

    httpd -k restart -n apache24  [注意在wamp下名字叫wampapache] http://blog.sina.com.cn/s/blog_692a024c0102vuq ...

  4. MySQL平时记录笔记

    零,mysql的安装 http://blog.csdn.net/mhmyqn/article/details/17043921 https://www.cnblogs.com/wangjunyan/p ...

  5. HDU 6377 度度熊看球赛 (计数DP)

    度度熊看球赛 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  6. Day10 (黑客成长日记) Urllib库的使用

    什么是Urllib: Urllib是python内置的HTTP请求库包括以下模块urllib.request 请求模块urllib.error 异常处理模块urllib.parse url解析模块ur ...

  7. Eclipse搭建SSH框架(Struts2+Spring+Hibernate)

    见识少的我经过一天多的研究才知道,在MyEclipse中搭好的框架的配置文件和jar包是通用的.接下来——亮剑! 工具:Eclipse+Tomcat+Mysql 一.先在Eclipse中配置好Tomc ...

  8. Ubuntu 16.04.2 配置VNC

    1安装包apt-get update sudo apt install xfce4 xfce4-goodies tightvncserversudo apt-get install vnc4serve ...

  9. vue数据更新UI不刷新显示解决方案

    vue比较常见的坑就是数据(后台返回)更新了,但是UI界面并没有更新,常见于以下情况: 一.数据为数组时1.通过数组索引修改数组元素例如: 此时UI数据并不会刷新 2.修改数组长度时: 解决方案: 如 ...

  10. 【DocFX文档翻译】DocFX 入门 (Getting Started with DocFX)

    DocFX 入门 1. DocFX 是什么? DocFX 是一个基于.NET的API文档生成器,当前支持 C# 和 VB. 它可以通过你的代码中的三斜杠注释生成 API 参考文档.同样也支持你使用 M ...