zoukankan      html  css  js  c++  java
  • linux命令应用之一

    某个目录下有两个文件a.txt和b.txt.文件格式为(ip username),例如:

    a.txt

    127.0.0.1 zhangsan
    127.0.0.1 wangxiao
    127.0.0.2 lisi
    127.0.0.3 wangwu


    b.txt

    127.0.0.4 lixiao
    127.0.0.1 lisi
    127.0.0.2 lisi


    a.txt,b.txt 中至少 100 万行,用 linux命令行 实现下列要求(题目要求linux命令行方式。。。):
    1)a.txt,b.txt 中各自的 ip 个数,ip 的总个数。
    2)a.txt 中存在的 ip 而 b.txt 中不存在的 ip。
    3)每个 username 出现的总个数,每个 username 对应的 ip 个数。

    答案:

       1:单个文件中ip个数不去重                cut -d ' ' -f 1 a.txt | wc -l 

          单个文件中ip去重后的总个数           cut -d ' ' -f 1 a.txt |sort | uniq |wc -l

          ip总个数不去重                           cut -d ' ' -f 1 a.txt b.txt | wc -l

          ip去重后的总个数                         cut -d ' ' -f 1 a.txt b.txt |sort | uniq |wc -l

       2:a中存在而b中不存在的ip               cut -d ' ' -f 1 a.txt b.txt |sort | uniq -u

      3:每个 username 出现的总个数        cut -d ' ' -f 2 a.txt b.txt | sort | uniq -c 

                   或者                                awk '{arr[$2]++;}END{for(i in arr){print i , arr[i] }}' a.txt  b.txt 

          每个 username 对应的 ip 个数      cut -d ' ' -f 1-2 a.txt b.txt | sort -k 2 | uniq -c | awk '{arr[$3]++;}END{for(i in arr){print i , arr[i] }}'

  • 相关阅读:
    you-get 下载网络上的富媒体信息
    响应式布局
    网页头部的声明应该是用 lang="";
    htm、html、shtml网页区别
    请求头出现Provisional headers are shown
    配置nginx直接使用webpack生成的gz压缩文件,而不用nginx自己压缩
    babel-plugin-equire
    VUE中$refs的基本用法
    element-ui--按需引入
    vue ts ,vue使用typescript,三种组件传值方式
  • 原文地址:https://www.cnblogs.com/felixzh/p/4736493.html
Copyright © 2011-2022 走看看