linux课堂作业免费下载,Linux课堂作业3(课后题)

1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中[[email protected] ~]# cat /etc/issue | tr ‘a-z‘ ‘A-Z‘ > /tmp/issue.out

[[email protected] ~]# cat /tmp/issue.out

\S

KERNEL \R ON AN \M

HTTP://WWW.MAGEDU.COM

TTY IS \L

HOSTNAME IS \N

CURRENT TIME IS \T

2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中[[email protected] ~]# who | tr ‘a-z‘ ‘A-Z‘ > /tmp/who.out

[[email protected] ~]# cat /tmp/who.out

ROOT     PTS/0        2016-07-29 09:28 (10.1.250.82)

ROOT     PTS/1        2016-07-29 09:48 (10.1.250.82)

ROOT     PTS/2        2016-07-29 10:52 (10.1.250.82)

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

Hello, I am 用户名,the system version is here,pleasehelp me to check it ,thanks!

操作系统版本信息[[email protected] ~]$ mail -s help root 

[[email protected] ~]$ cat mail.txt

Hello, I am xiaoshui,the system version is here,pleasehelp me to check it ,thanks!

LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch

Distributor ID:    CentOS

Description:    CentOS Linux release 7.2.1511 (Core)

Release:    7.2.1511

Codename:    Core

刚开始以为可以使用` `进行命令引用,然后发现使用后发现还是原来的字符

4、将/root/下文件列表,显示成一行,并文件名之间用空格隔开[[email protected] /]# ls / | xargs

bin  boot  dev  etc  f1  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  test  testdir  tmp  usr  var

5、file1文件的内容为:”1 2 3 4 5 6 7 8 9 10” 计算出所有数字的总和[[email protected] ~]# cat file1 | tr ‘ ‘ ‘+‘ | bc

55

[[email protected] ~]# let s=0;for i in `cat file1` ;do  s=$[$i+$s] ;done ; echo "sum=$s"

sum=55

网上还看到一种是用echo 1 2 3 4 5 6 7 8 9 10| xargs -n1 | echo $[ $(tr ‘\n‘ ‘+‘) 0 ]的,结果是正确的,最后一点tr ‘\n‘ ‘+‘不明白什么意思

6、删除Windows文本文件中的‘^M‘字符[[email protected] ~]# cat m.txt | tr -d ‘\r\n‘ > newm.txt

7、处理字符串“xt.,l 1 jr#!$mn2 c*/fe3 uz4”,只保留其中的数字和空格[[email protected] ~]# tr -d "[[:punct:]]|[[:alpha:]]" 

1 2 3 4

[[email protected] ~]# cat grep.txt

xt.,l 1 jr#!$mn2 c*/fe3 uz4

[[email protected] ~]# grep  -E -o  "[[:space:]]|[[:digit:]]" grep.txt

1

2

3

4

[[email protected] ~]# grep  -E -o  "[[:space:]]|[[:digit:]]" grep.txt | cat -A

$

1$

$

2$

$

3$

$

4$

使用grep但是会出现换行的情况,但是确实也按要求提取到了

8、将PATH变量每个目录显示在独立的一行[[email protected] ~]# echo $PATH | tr ‘:‘ ‘\n‘

/usr/lib64/qt-3.3/bin

/usr/local/sbin

/usr/local/bin

/usr/sbin

/usr/bin

/root/bin

[[email protected] ~]# echo $PATH | xargs -d: -n1

/usr/lib64/qt-3.3/bin

/usr/local/sbin

/usr/local/bin

/usr/sbin

/usr/bin

/root/bin

[[email protected] ~]# echo $PATH | grep -E -o  "/?[[:alnum:]]*/?[[:alnum:]]*/[[:alnum:]]+\-?[[:alnum:]].?[[:alnum:]]+/[[:alnum:]]+:?" | tr -d ‘:‘

/usr/lib64/qt-3.3/bin

/usr/local/sbin

/usr/local/bin

/usr/sbin

/usr/bin

/root/bin

第三种同样使用正则表达式,最后去掉冒号还是用的tr命令,因为刚刚预习到正则,虽然麻烦,就当做练习吧

9、删除指定文件的空行[[email protected] ~]# tr -s ‘\n‘ 

hello   nihao

hahah

how are you

how old are you

[[email protected] ~]# cat emout.txt

hello   nihao

hahah

how are you

how old are you

[[email protected] ~]# sed -i ‘/^$/‘d emout.txt

[[email protected] ~]# cat emout.txt

hello   nihao

hahah

how are you

how old are you

tr -s 只是去掉空行显示出来,但是并没有真正的删除空行,使用sed却是可以

10、将文件中每个单词(字母)显示在独立的一行,并无空行[[email protected] ~]# grep -E -o "\" al.txt

xiao

shui

nihao

ni

haha

ni

txt

j

moring

father

mother

[[email protected] ~]# cat al.txt

xiao shui nihao+++ni haha

ni.txt

j 3 2 num23mo

moring

father mother

刚开始也想用tr命令将空格转换为\n,但是数字也会出现,所以就没有使用

原文:http://dashui.blog.51cto.com/11254923/1832487

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值