• 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 字符

  • 相关阅读:
    Git 简介
    Web开发——jQuery基础
    VueJS教程4
    VueJS教程3
    VueJS教程2
    linux命令,系统安全相关命令--改变文件属性与权限(chgrp,chwon,chmod)
    linux命令,系统安全相关命令--su
    linux命令,系统安全相关命令--passwd
    git常用命令整理
    vi常用按键
  • 原文地址:https://www.cnblogs.com/zqlmmd/p/5469110.html
Copyright © 2020-2023  润新知