码迷,mamicode.com
首页 > 其他好文 > 详细

马哥教育7月28日作业

时间:2016-07-31 22:23:15      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:马哥教育作业

用linux已学只是完成以下作业


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

思考:tr的普通应用,加上管道的输出到文件

技术分享

 

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

思考:同上

技术分享

 

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

思考:管道的应用,echo命令内whoamicat查看操作系统信息的命令替换;以及mail命令的使用

技术分享

信件内容如下:

技术分享

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

思考:manecho中,根据echo的定义描述echo - display a line of text,以一行模式显示文本

无需太过复杂地将换行\n替换为[:space:]

技术分享

 

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

思考:将1 2 3 4 5 6 7 89 10中的空格替换成+,传递给bc进行计算,man bc了解bc的计算格式

技术分享

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

思考:window与linux文件的换行区别在于:windos文件换行为回车+$,Linux文件换行仅仅为$,通过#cat -A FILENAME可以查看到windows文件的^M,查tr的man文档,可以看到\r  return

方法一:-d, --delete
              delete characters in SET1, do not translate
删除SET1的字符

技术分享

方法二:

-s, --squeeze-repeats
              replace each input sequence of a repeated character that is listed in SET1  with
              a single occurrence of that character
简单地理解为:
将匹配SET1的字符,去掉重复(连续且相同则为重),只显示一个。

技术分享


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

方法一:

思考:

-c, -C, --complement
              use the complement of SET1 
  使用SET1的补集
-cd即为删除SET1的补集

技术分享

方法二:

思考:-d删除字母[:alpha:]  和标点符号[:punct:]

技术分享

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

思考:简单地管道传递,替换

技术分享

 

9. 删除指定文件的空行

思考:用-s地删除重复\n\n,

考虑到要编辑软件,tr无法进行文件编辑,所以引用mv  

技术分享

    疑问:如果文件第一行是空行,个人没想到方法。考虑用sed命令sed  ‘/^$/d‘ -i  FILENAME

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

思考:-c字母的补集,替换成\n,并加-s去重

技术分享

 疑问:以空行开头的同样无法删除。需引进sed命令


马哥教育7月28日作业

标签:马哥教育作业

原文地址:http://zhaoqifly.blog.51cto.com/3500118/1832593

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!