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文件中

[[email protected](04:55:33) ~]$ cat /etc/issue
CentOS release 6.9 (Final)
Kernel \r on an \m

[[email protected](04:55:42) ~]$ tr a-z A-Z < /etc/issue > /tmp/issue.out
[[email protected](04:56:28) ~]$ cat /tmp/issue.out
CENTOS RELEASE 6.9 (FINAL)
KERNEL \R ON AN \M

[[email protected](04:56:36) ~]$

2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中

[[email protected](05:00:14) ~]$ w
 17:00:18 up  8:09,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              [email protected]   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
[[email protected](05:00:18) ~]$ w | tr a-z A-Z > /tmp/who.out
[[email protected](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              [email protected]   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
[[email protected](05:01:02) ~]$

3、一个linux用户给root发邮件,要求邮件标题为”help”,邮件正文如下:
Hello, I am 用户名,The system version is here,please help me to
check it ,thanks!
操作系统版本信息

[[email protected](05:44:15) mail]$ su - gentoo
[[email protected] ~]$
[[email protected] ~]$ echo "Hello, I am `whoami`,The system version is here,please to check it ,thanks! \n`cat /etc/redhat-release`" |mail -s "help" root
[[email protected] ~]$ su -
Password:
[[email protected](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 [email protected]  Sat Sep  2 17:44:47 2017
Return-Path: <[email protected]>
X-Original-To: root
Delivered-To: [email protected]
Date: Sat, 02 Sep 2017 17:44:47 +0800
To: [email protected]
Subject: help
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
From: [email protected] (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/下文件列表,显示成一行,并文件名之间用空格隔开

[[email protected](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
[[email protected](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 [[email protected](05:48:35) ~]$

5、计算1+2+3+..+99+100的总和

[[email protected](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
[[email protected](05:51:50) ~]$ echo {1..100} | tr ‘ ‘ ‘+‘ |bc
5050
[[email protected](05:52:15) ~]$

6、删除Windows文本文件中的‘^M’字符

首先准备一个windows文本文件,内容自定义。

[[email protected](07:03:31) ~]$ cat -A abc.txt
a^M$
b^M$
c^M$
d^M$
[[email protected](07:03:47) ~]$ tr -d ‘\r‘ < abc.txt > abcd.txt | cat -A abcd.txt
a$
b$
c$
d$
[[email protected](07:08:44) ~]$

7、处理字符串“xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的数字和空格

[[email protected](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[[email protected](07:13:30) ~]$

8、将PATH变量每个目录显示在独立的一行

[[email protected](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
[[email protected](07:15:42) ~]$
[[email protected](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
[[email protected](07:15:45) ~]$

9、将指定文件中0-9分别替代成a-j

[[email protected](07:23:24) ~]$ cat abc.txt
0123456789
[[email protected](07:23:31) ~]$ cat abc.txt | tr [0-9] [a-j]
abcdefghij
[[email protected](07:23:35) ~]$

10、将文件中每个单词(由字母组成)显示在独立的一行,并无空行

[[email protected](07:26:25) ~]$ cat abc.txt
Hello World!

China!

g o o d !
[[email protected](07:26:31) ~]$ cat abc.txt |tr ‘ ‘ ‘\n‘ | tr -s ‘\n‘
Hello
World!
China!
g
o
o
d
!
[[email protected](07:27:32) ~]$
时间: 2024-08-02 06:59:52

linux系统之tr命令的相关文章

Linux系统 rm 删除命令 “危险”!!!

Linux系统 rm 删除命令(危险) 简述:在linux系统运维工作中rm删除命令,十分危险,因为权限实在太大了,一个不小心就会把整个服务器的数据瞬间删除掉,所以我们要怎么样巧妙的使用rm命令删除文件,并且杜绝误删的情况发生呢? 方法一: 说明:我们可以通过find查找命令,将需要删除的文件查找到后在进行准确无误的删除. 命令行操作: [[email protected] oldboy]# find ./ -type f -name "oldboy" -execrm -f {} \;

Linux系统下RPM命令和yum的使用

Linux系统下RPM命令和yum的使用 RPM:Redhat Packages Manager (红帽系列软件包的管理),主要用于安装.卸载.升级和管理软件. 一个包由下面几个部分构成: 例如:httpd-tools-2.4.6-17.e17.x86_64.rpm  这是一个软件包. httpd-tools  软件包的名称 2.4.6    原厂发布的版本号 17.e17  红帽给的版本号 x86_64  安装平台(还有i386.i686等平台). 查看包的详细信息:#rpm –qi 包名 #

linux系统网络服务命令(一)

一.linux系统联网设置 我们在装完linux系统后,首先就是要先配置网络服务,毕竟如果计算机不联网那其就是个计算器.配置网络功能时,刚开始比较简单快捷的是用dhclient命令(使用动态主机配置协议动态的配置网络接口的网络参数),下面介绍使用配置文件来定义静态网络地址并链接互联网. 1.配置网卡文件: [[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0  DEVICE=eth0 //此配置关联至的设备.设备

Linux系统中last命令的用法

1.作用 linux系统中last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户.通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统. 2.格式 last [—R] [—n][-f file][-t tty] [—h 节点][-I —IP][—1][-y][ID] 3.主要参数 - R: 省略 hostname 的栏位 -n:指定输出记录的条数. -f file:指定用文件file作为查询用的log文件. -t tty:只显示指定的虚拟控制台上登录情况. -

Linux系统巡检常用命令

# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -s

Linux系统常用基础命令

Linux系统常用基础命令 cd->切换目录: pwd->显示当前所在的绝对目录; chmod->用于改变linux系统文件或目录的访问权限; ls->不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等; mkdir->创建文件夹; rm->删除一个目录中的一个或多个文件或目录; rmdir->从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限;注意:不能删除非空目录; mv-&g

Linux系统采用netstat命令查看DDOS攻击的方法

Linux系统采用netstat命令查看DDOS攻击的方法 来源:互联网 作者:佚名 时间:07-05 15:10:21 [大 中 小] 这篇文章主要为大家介绍了Linux系统采用netstat命令查看DDOS攻击的方法,对于网络安全而言非常重要!需要的朋友可以参考下 Linux系统用netstat命令查看DDOS攻击具体命令用法如下: 复制代码 代码如下: netstat -na 显示所有连接到服务器的活跃的网络连接 复制代码 代码如下: netstat -an | grep :80 | so

linux系统-文件系统-常用命令

linux系统-文件系统-常用命令 一 常用命令 1 查看分区情况:df [-h] 2 查看文件和目录的大小:du 3 查看文件的详细参数:stat 4 校验文件的md5的值:md5sum 5 检测修复文件系统:fsck,e2fsck(单用户模式卸载文件系统后执行) 二 添加硬盘的分区 1 划分分区:fdisk /dev/sdb 2 创建文件系统:mkfs.ext3 /dev/sdb1 3 尝试挂载:mount /dev/sdb1 /mnt/test 4 写入配置文件以便reboot自动挂载:/

Ubuntu Linux系统下apt-get命令详解

Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本等 sudo apt-get install package 安装包 sudo apt-get install package - - reinstall 重新安装包 sudo apt-get -f install 修复安装"-f = ——fix-missing&