linux入门实验手册4 IO与管道

  1. 将/etc/issue⽂件中的内容转换为⼤写后保存⾄/tmp/issue.out⽂件中

    cat /etc/issue | tr 'a-z' 'A-Z' | > /tmp/issue.out 错
    cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out 对
    后面需要标准输入时才用管道技术,否则直接重定向即可,如>符号就是直接把STDOUT输出到文件了

  2. ⼀个linux⽤户给root发邮件,要求邮件标题为”help” ,邮件正⽂如下: Hello, I am ⽤户名,The system version is
    here,please help me to check it ,thanks! 操作系统版本信息
    [root@magedu ~]# mail -s help root << EOF Hello, I am `whoami`. The system version is here,please help me to check it,thanks! `cat /etc/redhat-release` EOF
    注意:发送给root 所以主题后要加上root
    使用“<<终止词”命令从键盘把多行重导向给STDIN,mail命令常用这个方法来写邮件
    引用命令时候注意包围的字符是什么
  3. 删除Windows⽂本⽂件中的ʻ^Mʼ 字符

    cat test.txt | tr -d '\r' > newtest.txt
    注意修改后要修改文件名,不能传到原文件中
    ^M字符的来历和作用:在DOS/Windows里,文本文件的换行符为\r\n,而在nix系统里则为\n,所以DOS/Windows里编辑过的文本文件到了nix里,每一行都多了个^M。所以^M只是一个换行符号,没有实际的用处,我们可以将它保留,也可以将它删除(即把\n删除)

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

    echo "xt.,l 1 jr#!$mn 2 c/fe 3 uz 4" | tr -dc [:digit:][:space:] 错
    echo "xt.,l 1 jr#!$mn 2 c
    /fe 3 uz 4" | tr -dc '[:digit:][:space:]' 两个参数用单引号括起来

  5. 将⽂件/etc/centos-release中每个单词(由字⺟组成)显⽰在独⽴⼀⾏,并⽆空⾏

    cat /etc/centos-release |tr ' ' '\n' 错
    cat /etc/centos-release |tr -cs '[:alpha:]' '\n'
    注意:只保留单词,数字不要,括号也不要,最后一行也不能是空行(用上面错的方法就会产生空行)
    原理:把非字母的其他所有东西压缩,并替换成换行即可

猜你喜欢

转载自www.cnblogs.com/linux521/p/10886112.html