zoukankan      html  css  js  c++  java
  • Linux06--Shell程序设计02 数据流重定向与管道

    包含3种数据流:

    •标准输入(stdin):代码为0,符号为<或<<;
    •标准输出(stdout):代码为1,符号为>或>>;
    •标准错误输出(stderr):代码为2,符号为2>或2>>。
    >默认为覆盖文件内容,如果要追加则用>>

    将数据从指定的流输入或输出,就称为数据重定向。

    管道

    •管道命令的界定符号为”|”
    •管道命令仅会处理stdout,对stderr会忽略
    •管道命令必须要能够接收来自前一个命令的数据作为stdin
     
    使用管道命令
    cut grep    sort、wc、uniq
     
    cut命令的主要用途是将同一行的数据进行分解
    cut参数:
          -d 后接分割字符,与-f一起使用;
           -f  依据-d的分割字符将一段信息分割成数段,用-f选出第几段。
    echo $PATH | cut -d : -f 5
    

    grep命令则是按条件取出某行,其基本语法为:

    [root@www~]# grep [-acinv] [--color=auto] '查找字符串' filename
    
    -a 将binary文件以text文件的方式查找数据
    -c   计算找到‘查找的字符串’的次数
    -i 忽略大小写
    -n 顺便输出行号
    -v 反向选择

    在last的输出信息中,只要有root就取出,并且只取第一行
    [root@www~]# last | grep 'root' | cut -d ' ' -f 1

    排序命令“: sort uniq wc

    sort命令用于对输入内容进行排序  

    [root@www~] # sort [-fbMnrtuk] [file or sdtin]
    
    -f  忽略大小写的差异
    -b  忽略最前面的空格符部分
    -M 以月份的名字来排序
    -r  反向排序
    -t  分隔符
    -k 以第几个区间来进行排序
    
    利用last将输出的数据仅取账号列,并排序
    last | cut -d  ' ' -f 1 | sort
    

    uniq命令用于去除结果中的重复行

    uniq [-ic]
    -i 忽略大小写的不同
    -c 进行计数
    
    使用last将账号列出,仅取出账号列,进行排序后仅取出一位
    last | cut -d ' ' -f1 | sort |uniq -c
    

    wc命令用于统计字、字符、行,

    -l 行   -w 字 -m 字符

  • 相关阅读:
    AHK的OnMessage
    VBA7种文档遍历法
    Excel VBA 找出选定范围不重复值和重复值
    Excel图片调整大小
    Excel信息提取之二
    Excel不同工作簿之间提取信息
    VBA7种遍历方法
    Exce信息提取
    php笔记之文件载入和异常处理
    php笔记之流程控制
  • 原文地址:https://www.cnblogs.com/zqlmmd/p/5469110.html
Copyright © 2011-2022 走看看