Linux 重定向和管道练习

2019-10-23  本文已影响0人  Kin丶

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

[root@centos7 ~]#cat /etc/issue | tr [:lower:] [:upper:] > /tmp/issue.out
[root@centos7 ~]#cat /tmp/issue.out
\S
KERNEL \R ON AN \M

TTY: /L
HOSTNAME: /N
TIME: /T

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

[root@centos7 ~]#who | tr [:lower:] [:upper:] > /tmp/who.out
[root@centos7 ~]#cat /tmp/who.out
ROOT     :0           2019-10-23 01:07 (:0)
ROOT     PTS/0        2019-10-23 01:11 (:0)
ROOT     PTS/1        2019-10-23 01:11 (192.168.30.1)

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

Hello, I am 用户名.
The system version is here.
Please help me to check it, thanks!
操作系统版本信息

[root@centos6 ~]#mail -s 'help' root <<EOF
> Hello, i am $USER.
> The system version is here.
> Please help me to check it, thanks!
> `OS version is lsb_release -a`
> EOF
You have mail in /var/spool/mail/root

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

[root@centos6 ~]#ls /root/ | tr -s '\n' ' '
anaconda-ks.cfg Desktop Documents Downloads install.log install.log.syslog Music Pictures Public Templates Videos

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

方法1:

[root@centos6 ~]#echo {1..100} | tr ' ' + | bc
5050

方法2:

[root@centos6 ~]#seq -s + 100 | bc
5050

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

[root@centos6 ~]#cat -A Windows.txt | tr -d '^M'
1$
2$
3

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

[root@centos6 ~]#echo "xt.,l 1 jr#'\n\r'mn 2 c*/fe 3 uz 4" | tr -cd [:digit:][:space:]
 1  2  3  4

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

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

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

[root@centos6 ~]#echo '0123456789' > /data/f1
[root@centos6 ~]#cat /data/f1 | tr [1-9] [a-j]
0abcdefghi

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

[root@centos6 ~]#cat /etc/issue | tr -s ' ' '\n'
CentOS
release
6.9
(Final)
Kernel
\r
on
an
\m
Tty:
\l
Hostname:
\n
Time:
\t
上一篇 下一篇

猜你喜欢

热点阅读