重定向和管道练习题

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

答案(两种方法):

tr 'a-z' 'A-Z' < /etc/issue > /tmp/issue
 
cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue

解析:

第一种方法用的输入输出重定向,是把/etc/issue文件作为tr命令的输入,然后输出到/tmp/issue; 第二种方法是用的管道和输出重定向,把cat命令的输出,作为tr命令的输入,然后结果输出到/tmp/issue

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

答案:

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

解析:

who输出的登录信息,作为tr命令的输入,然后tr命令的输出重定向到/tmp/who.txt文件


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

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

答案:

1
2
3
4
cat <<EOF | mail -s help root
>Hello, I am $USER,The system version is here,please help me to check it ,thanks!
>My OS is `cat /etc/centos-release`
>My OS's Kernel is `uname -a`

解析:

先用cat <<EOF来把下面行的输入信息 输出出来,作为后面mail命令的输入。


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

答案:

1
ls -1 |tr '\n' ' '

解析:

ls显示所有文件行,用tr命令把尾部的\n替换成空格


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

答案:

1
echo {1..100} |tr ' ' '+' |bc

解析:

echo输出100个数,然后把中间的空格转化为加号,然后再传给bc计算


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

答案:

1
cat windows.txt |tr -d "\r"

解析:


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

答案:

1
echo “xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4” | tr -d "^0-9 "

解析:

-d选项是delete的意思,^是非的意思,0=9是数字,后面跟一个空格,组合起来就是非数字和空格,然后-d删除


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

答案:

1
echo $PATH | tr ":" "\n"

解析:

冒号转化为换行


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

答案:

1
tr "0-9" "a-j" file

解析:


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

答案:

1
cat 1.log |tr -c 'a-zA-Z' '\n'

解析:

cat命令的输出,作为tr命令的输入,-c选项是选择补集,即不是字母的单词

转载于:https://www.cnblogs.com/momenglin/p/8532404.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值