练习

1 、将/etc/issue 文件中的内容转换为大写后保存至/tmp/issue.out 文件中

     # cat /etc/issue|tr 'a-z' 'A-Z' > /tmp/issue.out

[root@6 testdir]# cat /etc/issue|tr 'a-z' 'A-Z' > /tmp/issue.out
[root@6 testdir]# cat /tmp/issue.out
CENTOS RELEASE 6.8 (FINAL)
KERNEL \R ON AN \M

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

  # who|tr 'a-z' 'A-Z' > /tmp/who.out

[root@6 testdir]# who
root     tty1         2016-07-29 08:37 (:0)
root     pts/0        2016-07-29 08:44 (:0.0)
root     pts/1        2016-07-29 08:44 (10.1.250.77)
[root@6 testdir]# who|tr 'a-z' 'A-Z' > /tmp/who.out
[root@6 testdir]# cat /tmp/who.out
ROOT     TTY1         2016-07-29 08:37 (:0)
ROOT     PTS/0        2016-07-29 08:44 (:0.0)
ROOT     PTS/1        2016-07-29 08:44 (10.1.250.77)

3 、一个linux 用户给root 发邮件,要求邮件标题为”help”,邮件正文如下:

Hello, I am  用户名,the system version is here,please help me to

check it ,thanks!操作系统版本信息

[lvasu@6 ~]$ echo -e "Hello, I am root,the system version is please help me to check it ,thanks! \n `cat /etc/centos-release`" | mail -s help root
[root@6 testdir]# mail
Heirloom Mail version 12.4 7/29/08.  Type ? for help.
"/var/spool/mail/root": 4 messages 4 new
>N  1 Anacron               Thu Jul 28 15:32  17/606   "Anacron job 'cron.daily' on 6.local"
N  2 Anacron               Fri Jul 29 09:26  17/606   "Anacron job 'cron.daily' on 6.local"
N  3 Anacron               Sun Jul 31 16:26  17/606   "Anacron job 'cron.daily' on 6.local"
N  4 lvasu@6.localdomain   Sun Jul 31 22:22  19/641   "help"
Message  1:
From root@6.localdomain  Thu Jul 28 15:32:24 2016
Return-Path: <root@6.localdomain>
X-Original-To: root
Delivered-To: root@6.localdomain
From: Anacron <root@6.localdomain>
To: root@6.localdomain
Content-Type: text/plain; charset="ANSI_X3.4-1968"
Subject: Anacron job 'cron.daily' on 6.localdomain
Date: Thu, 28 Jul 2016 15:32:23 +0800 (CST)
Status: R
/etc/cron.daily/mlocate.cron:
/usr/bin/updatedb: can not open `/etc/updatedb.conf': Permission denied

4 、将/root/下文件列表,显示成一行,并文件名之间用空格隔开。

ls /root |tr '\n' '\ '

[root@6 ~]# ls /root |tr '\n' '\ '
a anaconda-ks.cfg install.log install.log.syslog s x 公共的 模板 视频 图片 文档 下载 音乐 桌面

5 、file1 文件 的 内容为:”1 2 3 4 5 6 7 8 9 10” 计算出所有数字的总和

[root@6 testdir]# cat file1
1 2 3 4 5 6 7 8 9 10
[root@6 testdir]# cat file1 |tr '\ ' '+'|bc
55

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

[root@6 桌面]# cat -A a.txt
My name is Bob.^M$
I am from US.^M$
[root@6 桌面]# cat a.txt |tr -d '\015'> b.txt 
[root@6 桌面]# cat b.txt -A
My name is Bob.$
I am from US.$


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

 # echo “xt.,l 1 jr#'a-z'mn2 c*/fe3 uz4”|tr -d '[:alpha:][:punct:]'

  [root@6 ~]# echo “xt.,l 1 jr#'a-z'mn2 c*/fe3 uz4”|tr -d '[:alpha:][:punct:]'
“ 1 2 3 4”

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

[root@6 桌面]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@6 桌面]# echo $PATH|tr ':' '\n'
[root@6 ~]# echo $PATH|tr ':' '\n'
/usr/lib64/qt-3.3/bin
/usr/local/sbin
/usr/local/bin
/sbin
/bin
/usr/sbin
/usr/bin
/root/bin

9、删除指定文件的空行

[root@6 testdir]# cat w
ab

cd

ef

gh
[root@6 testdir]# cat w |tr -s "\n"
ab
cd
ef
gh




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

[root@6 testdir]# cat /etc/init.d/functions | tr -cs '[:alpha:]' '\n' 
[root@6 ~]# cat /etc/issue | tr -cs '[:alpha:]' '\n' 
CentOS
release
Final
Kernel
r
on
an
m