美文网首页
linux管道

linux管道

作者: oceanfly | 来源:发表于2022-07-28 06:53 被阅读0次

    什么是管道

    先拿水管做比喻,水流可以从水管的一端流到另一端
    而且水管的一端需要有东西能产生水流,水管的另一端需要有东西能处理水流
    liunx中的管道也一样,只是linux管道中流动的是数据流
    管道的一端有命令产生数据流,管道的另一端有命令处理流过来的数据流

    格式

    命令 | 命令
    管道符是 | 前边就是数据流的来源 后面是处理数据流的命令

    举例

    先看数据文件

    [root@centos76 data]# cat ip.txt
    192.168.1.5
    192.168.1.20
    192.168.1.20
    192.168.1.20
    192.168.1.20
    192.168.1.20
    192.168.1.20
    192.168.1.20
    192.168.1.20
    192.168.1.20
    192.168.1.20
    10.10.0.88
    10.10.0.88
    10.10.0.88
    10.10.0.88
    10.10.0.9
    

    如果要过滤出10.10.0.88的行

    # cat ip.txt 会产生数据流 经过管道流给grep命令去处理
    [root@centos76 data]# cat ip.txt | grep 10.10.0.88
    10.10.0.88
    10.10.0.88
    10.10.0.88
    10.10.0.88
    

    管道可以有多个 例如上面的结果再统计一下数量

    # grep 过滤后的数据 继续往下流 流给uniq命令继续执行
    [root@centos76 data]# cat ip.txt | grep 10.10.0.88 |uniq -c
          4 10.10.0.88
    

    注意

    管道虽然好用 但是因为多了一层数据流动,所以不要滥用,有些命令是直接可以处理数据的
    比如上例中的cat ip.txt | grep 10.10.0.88 直接用grep 也能达到效果

    [root@centos76 data]# grep 10.10.0.88 ip.txt
    10.10.0.88
    10.10.0.88
    10.10.0.88
    10.10.0.88
    

    相关文章

      网友评论

          本文标题:linux管道

          本文链接:https://www.haomeiwen.com/subject/misxwrtx.html