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