linux系统之tr命令
tr命令介绍以及使用
目录:
1.tr命令的介绍
2.tr命令格式
3tr命令使用项.
4.常见的tr命令的使用
tr命令介绍
从标准输入中翻译、压缩和/或删除字符,写入标准输出,说白了就转换和删除字符。
tr命令格式
tr 参数 test1 test2
tr命令的使用项
-c, -C, –complement 用集合1中的字符串替换,要求字符集为ASCII。 -d, –delete 删除集合1中的字符而不是转换 -s, –squeeze-repeats 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。 -t, –truncate-set1 先删除第一字符集较第二字符集多出的字符 字符的范围 [2-7] 表示数字范围
[c-w] 表示字母范围 [a-zA-Z]
[nihao] 匹配列表
[^nihao] 取反,会匹配到列表中所有字符以外的字符
[[:digit:]] 表示任意数字
[[:alpha:]] 表示任意字母
[[:alnum:]] 表示任意字母或数字
[[:upper:]] 表示大写字母
[[:lower:]] 表示小写字母
[[:blank:]] 水平空白字符
[[:space:]] 水平或垂直空白字符
[[:punct:]] 特殊字符
tr命令的使用
1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
[root@JiangBo(04:55:33) ~]$ cat /etc/issue
CentOS release 6.9 (Final)
Kernel \r on an \m [root@JiangBo(04:55:42) ~]$ tr a-z A-Z < /etc/issue > /tmp/issue.out
[root@JiangBo(04:56:28) ~]$ cat /tmp/issue.out
CENTOS RELEASE 6.9 (FINAL)
KERNEL \R ON AN \M [root@JiangBo(04:56:36) ~]$
2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中
[root@JiangBo(05:00:14) ~]$ w
17:00:18 up 8:09, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.18.1 09:30 0.00s 0.65s 0.00s w
root pts/1 192.168.18.1 14:50 2:09m 0.03s 0.03s -bash
[root@JiangBo(05:00:18) ~]$ w | tr a-z A-Z > /tmp/who.out
[root@JiangBo(05:00:50) ~]$ cat /tmp/who.out
17:00:50 UP 8:09, 2 USERS, LOAD AVERAGE: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ROOT PTS/0 192.168.18.1 09:30 0.00S 0.66S 0.00S W
ROOT PTS/1 192.168.18.1 14:50 2:09M 0.03S 0.03S -BASH
[root@JiangBo(05:01:02) ~]$
3、一个linux用户给root发邮件,要求邮件标题为”help”,邮件正文如下:
Hello, I am 用户名,The system version is here,please help me to
check it ,thanks!
操作系统版本信息
[root@JiangBo(05:44:15) mail]$ su - gentoo
[gentoo@JiangBo ~]$
[gentoo@JiangBo ~]$ echo "Hello, I am `whoami`,The system version is here,please to check it ,thanks! \n`cat /etc/redhat-release`" |mail -s "help" root
[gentoo@JiangBo ~]$ su -
Password:
[root@JiangBo(05:45:07) ~]$ mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 Gentoo Distribution Sat Sep 2 17:44 19/706 "help"
& 1
Message 1:
From gentoo@JiangBo.localdomain Sat Sep 2 17:44:47 2017
Return-Path: <gentoo@JiangBo.localdomain>
X-Original-To: root
Delivered-To: root@JiangBo.localdomain
Date: Sat, 02 Sep 2017 17:44:47 +0800
To: root@JiangBo.localdomain
Subject: help
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
From: gentoo@JiangBo.localdomain (Gentoo Distribution)
Status: R Hello, I am gentoo,The system version is here,please to check it ,thanks!
CentOS release 6.9 (Final) &
4、将/root/下文件列表,显示成一行,并文件名之间用空格隔开
[root@JiangBo(05:48:28) ~]$ ls
1sss Downloads oldfile testdir
aaa epel-release-latest-6.noarch.rpm Package test.gz
anaconda-ks.cfg Finished Pictures Videos
back2017-08-31 install.log Public
Desktop install.log.syslog Running
Documents Music Templates
[root@JiangBo(05:48:31) ~]$ ls -1 | tr '\n' ' '
1sss aaa anaconda-ks.cfg back2017-08-31 Desktop Documents Downloads epel-release-latest-6.noarch.rpm Finished install.log install.log.syslog Music oldfile Package Pictures Public Running Templates testdir test.gz Videos [root@JiangBo(05:48:35) ~]$
5、计算1+2+3+..+99+100的总和
[root@JiangBo(05:51:39) ~]$ echo {1..100}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
[root@JiangBo(05:51:50) ~]$ echo {1..100} | tr ' ' '+' |bc
5050
[root@JiangBo(05:52:15) ~]$
6、删除Windows文本文件中的‘^M’字符
首先准备一个windows文本文件,内容自定义。
[root@JiangBo(07:03:31) ~]$ cat -A abc.txt
a^M$
b^M$
c^M$
d^M$
[root@JiangBo(07:03:47) ~]$ tr -d '\r' < abc.txt > abcd.txt | cat -A abcd.txt
a$
b$
c$
d$
[root@JiangBo(07:08:44) ~]$
7、处理字符串“xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的数字和空格
[root@JiangBo(07:12:42) ~]$ echo 'xt.,l 1 jr#!$mn ip:127.0.0.1 2 c*/fe 3 uz 4' | tr -dc [0-9][:blank:]
1 127001 2 3 4[root@JiangBo(07:13:30) ~]$
8、将PATH变量每个目录显示在独立的一行
[root@JiangBo(07:15:38) ~]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@JiangBo(07:15:42) ~]$
[root@JiangBo(07:15:43) ~]$ echo $PATH | tr : '\n'
/usr/lib64/qt-3.3/bin
/usr/local/sbin
/usr/local/bin
/sbin
/bin
/usr/sbin
/usr/bin
/root/bin
[root@JiangBo(07:15:45) ~]$
9、将指定文件中0-9分别替代成a-j
[root@JiangBo(07:23:24) ~]$ cat abc.txt
0123456789
[root@JiangBo(07:23:31) ~]$ cat abc.txt | tr [0-9] [a-j]
abcdefghij
[root@JiangBo(07:23:35) ~]$
10、将文件中每个单词(由字母组成)显示在独立的一行,并无空行
[root@JiangBo(07:26:25) ~]$ cat abc.txt
Hello World! China! g o o d !
[root@JiangBo(07:26:31) ~]$ cat abc.txt |tr ' ' '\n' | tr -s '\n'
Hello
World!
China!
g
o
o
d
!
[root@JiangBo(07:27:32) ~]$
linux系统之tr命令的更多相关文章
- linux系统版本查看命令
发布:theboy 来源:net [大 中 小] 查看linux系统版本的命令 有如下命令可供参考: # lsb_release -a LSB Version: :core-3.1-ia ...
- [r]Ubuntu Linux系统下apt-get命令详解
Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package ...
- Linux系统采用netstat命令查看DDOS攻击的方法
Linux系统采用netstat命令查看DDOS攻击的方法 来源:互联网 作者:佚名 时间:07-05 15:10:21 [大 中 小] 这篇文章主要为大家介绍了Linux系统采用netstat命令查 ...
- 如何解决Linux 系统下 ifconfig 命令无网络接口 ens33
今天我在做Redis的哨兵集群模式的时候,以前都是好的,也不知道从什么时候开始就无法连接Redis服务器了,就是运行如下命令,没有效果:redis-server redis.conf,然后在通过命令查 ...
- Linux 系统巡检常用命令
Linux系统巡检常用命令 # uname -a # 查看内核/操作系统# cat /etc/centos-release # 查看centos操作系统版本# cat /proc/cpuinfo ...
- 【Linux基础】tr命令替换和删除字符
1.tr命令 tr可以对来自标准输入的字符进行替换.压缩和删除,可以将一组字符变成另外一组字符.通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其 ...
- 9个Linux系统常用监控命令
我们的系统一旦上线跑起来我们自然希望它一直相安无事,不要宕机,不要无响应,不要慢腾腾的.但是这不是打开机器电源然后放任不管就可以得到的.所以我们要监视系统的运行状况,发现问题及时处理. 对于系统和网络 ...
- 在Linux系统下mail命令的用法
在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...
- Linux系统的vi命令
Linux系统的vi命令 vi编辑命令 1,格式: #vi filename 2,用法: //打开或新建文件,并将光标置于第一行首 #vi + filename //打开文件,并将光标置于第n行首 # ...
随机推荐
- CNN 分割
测试的是Cifar10数据集,采用VGG模型的网络参数是[32, 'M', 64, 'M', 128, 128, 'M', 256, 256, 'M', 256, 256],准确度大概在90.6左右 ...
- 高可用性的负载均衡方案之lvs+keepalived和haproxy+heartbeat区别
高可用性的负载均衡方案 目前使用比较多的就是标题中提到的这两者,其实lvs和haproxy都是实现的负载均衡的作用,keepalived和heartbeat都是提高高可用性的,避免单点故障.那么他们为 ...
- --save-dev --save 的区别
--save 是发布会还在使用 --save-dev 是在开发中需要用到的 --save 依赖的文件在denpendencis下 --save-dev 依赖的文件都在dvedependencis下
- C# Winform 通过Socket实现客户端和服务端TCP通信
操作界面如下: 1.声明Socket 第一个参数:寻址方式,第二个参数:传输数据的方式,第三个参数:通信协议 Socket socket = new Socket(AddressFamily.Inte ...
- H5样式(个人使用)
@*定义全局样式*@ <style> body, ul, li, p, h1, h2, h3, h4, h5, h6, hr, span, form, fieldset, table, t ...
- 蓝图Blueprint
---恢复内容开始--- 蓝图: flask模块化处理操作和URL的方式 作用: 将不同的功能模块化,实现模块化应用 构建大型应用 优化项目结构 使用步骤 创建蓝图对象 对蓝图对象进行操作(注册路由; ...
- HFun.快速开发平台(五)=》自定义系统数据选择
本篇介绍HFun.快速开发平台的另一项系统常用功能:系统数据或参数选择,主要应用在表单录入中信息的选择,如类别,编号等.先贴出本系统实现的页面效果: 如上图所示,系统中将参数的选择统一展现为该方式,开 ...
- 记录配置xshell显示中文乱码的一次巧合
linux系统设置了中文UTF8,xshell终端也设置了中文UTF8,但xshell仍然无法显示中文,于是想起可能是字体显示问题. 设置楷体字体后,虽然文字方向还有问题,但乱码显示的问题解决了,方向 ...
- mybatis支持jdk8等localdate类型
大家知道,在实体Entity里面,可以使用java.sql.Date.java.sql.Timestamp.java.util.Date来映射到数据库的date.timestamp.datetime等 ...
- mybatis(二)
一级缓存和二级缓存 mybatis一二级缓存测试实例: package com.atguigu.mybatis.test; import java.io.IOException; import jav ...