zoukankan      html  css  js  c++  java
  • 挑战:历史命令 — 实验楼

    题目

    历史命令
    介绍
    在linux中,对于文本的处理和分析是极为重要的,现在有一个文件叫做data1,同学们可以在这里下载,
    wget http://labfile.oss.aliyuncs.com/courses/1/data1
    里面记录是一些命令的记录,现在需要你从里面找出出现频率次数前3的命令并保存在/home/shiyanlou/result。

    目标
    处理文本data
    将结果写入result
    结果包含次数和命令,如“100 ls”
    提示
    cut截取(-c 8- 明白含义吗)
    uniq -dc去重
    sort 的参数选择-k1 -n -r
    答案类似于
    cat data|....|....|.... > /home/shiyanlou/result
    来源
    2016年百度校招面试题

    答案

    cat data1 | cut -c 8- | sort | uniq -c | sort -n -r | head -n -3  > /home/shiyanlou/result 
    
    1. cut -c 8-
      从第8个字符开始到最后,至于为什么是 8- ,cat data1 数了一下命令开始位置正好是第8位
    2. sort | uniq -c
      sort 默认按字典序排序,uniq去重,这两者经常合用
      -c 参数表示进行计数,并在行首的位置输出该行重复次数
    3. sort -n -r
      -n 表示按数字大小排序(默认字典序)
      -r 表示按照降序排列(默认升序)
    4. head -n -3
      表示前三行的结果
  • 相关阅读:
    MFC CDialog/CDialogEx DoModal ALT
    yum和apt-get用法及区别
    ubuntu 12.04 source.list 源更新
    elasticsearch 优化
    TRIE树
    数据统计经验浅谈
    机器学习
    python 读取libsvm文件
    spark 参数调优
    python中的一些函数
  • 原文地址:https://www.cnblogs.com/longl/p/9632884.html
Copyright © 2011-2022 走看看