去年提前批我投了京东、字节和百度,一面,二面都被问到了awk,如果你会,并且还很熟悉,那肯定算是一个加分项了!好感度up up up!

基本原理本篇不再赘述。请阅读:
总结了200篇面经中的awk面试题,看看面试官会问什么!——原理篇
总结了200篇面经中的awk面试题,看看面试官会问什么!——实例篇

可能看完原理篇你还不是太清晰要怎么用,但是看完实例,绝对都能懂了!!

  • 重复的实例,代码只写一遍,看的时候举一反三。
  • 涉及到的其他命令,在第一次出现时会进行说明。
  • 有需要注意的格式、重点等等,在讲到具体实例的时候会附上说明。

本篇讲解——实例篇(4)ip地址相关

文章目录

    • 统计出一个文件中第一列的ip地址——百度提前批商业平台
    • awk统计日志中ip访问的次数——网易互娱运维开发工程师一面、滴滴出行一面
    • 查询访问次数最多的top10的ip——滴滴JAVA工程师二面、字节国际化一面、字节跳动后台开发日常实习二面、网易一面、快手软开一面、小米Go后端开发二面、 美团到店java后台开发一面、滴滴PHP/Go一面、字节跳动测开三面、美团二面
  • 互联网求职&交流 优质资源共享

统计出一个文件中第一列的ip地址——百度提前批商业平台

例如日志t.log,这段日志包含ip、访问时间、请求方式、访问路径、状态码等

123.125.72.61 - - [05/Dec/2018:00:00:02 +0000] "GET /yoyo/artical?locale=en HTTP/1.1" 200 12164 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.032 0.032 .
123.125.72.61 - - [05/Dec/2018:00:00:02 +0000] "GET /index?page=1 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
141.1.142.111 - - [05/Dec/2018:00:00:02 +0000] "GET /index?page=61 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
123.125.72.61 - - [05/Dec/2018:00:00:02 +0000] "GET /yoyoketang?page=62 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
141.1.142.131 - - [05/Dec/2018:00:00:02 +0000] "GET /blog?page=3 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
142.22.12.132 - - [05/Dec/2018:00:00:02 +0000] "GET /blog?page=1 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
142.22.12.132 - - [05/Dec/2018:00:00:02 +0000] "POST /blog?page=1 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
142.22.12.132 - - [05/Dec/2018:00:00:02 +0000] "POST /blog?page=3 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
awk '{print $1}' t.log| sort |uniq
#输出为:
123.125.72.61
141.1.142.111
141.1.142.131
142.22.12.132

Linux uniq命令用于检查及删除文本文件中重复出现的行列

sort命令和uniq命令配合使用可以去重,先用sort命令排序,然后uniq命令去重:先排序后去重

uniq只能对连续重复行进行去重,所以必须搭配sort命令使用

-c--count 在每行行首加上本行在文件中出现的次数

awk统计日志中ip访问的次数——网易互娱运维开发工程师一面、滴滴出行一面

例如日志t.log,这段日志包含ip、访问时间、请求方式、访问路径、状态码等

123.125.72.61 - - [05/Dec/2018:00:00:02 +0000] "GET /yoyo/artical?locale=en HTTP/1.1" 200 12164 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.032 0.032 .
123.125.72.61 - - [05/Dec/2018:00:00:02 +0000] "GET /index?page=1 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
141.1.142.111 - - [05/Dec/2018:00:00:02 +0000] "GET /index?page=61 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
123.125.72.61 - - [05/Dec/2018:00:00:02 +0000] "GET /yoyoketang?page=62 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
141.1.142.131 - - [05/Dec/2018:00:00:02 +0000] "GET /blog?page=3 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
142.22.12.132 - - [05/Dec/2018:00:00:02 +0000] "GET /blog?page=1 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
142.22.12.132 - - [05/Dec/2018:00:00:02 +0000] "POST /blog?page=1 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
142.22.12.132 - - [05/Dec/2018:00:00:02 +0000] "POST /blog?page=3 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
awk '{print $1}' t.log| sort |uniq -c
#输出为:3 123.125.72.611 141.1.142.1111 141.1.142.1313 142.22.12.132

uniq命令,-c--count表示在每行行首加上本行在文件中出现的次数

查询访问次数最多的top10的ip——滴滴JAVA工程师二面、字节国际化一面、字节跳动后台开发日常实习二面、网易一面、快手软开一面、小米Go后端开发二面、 美团到店java后台开发一面、滴滴PHP/Go一面、字节跳动测开三面、美团二面

例如日志t.log,这段日志包含ip、访问时间、请求方式、访问路径、状态码等

123.125.72.61 - - [05/Dec/2018:00:00:02 +0000] "GET /yoyo/artical?locale=en HTTP/1.1" 200 12164 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.032 0.032 .
123.125.72.61 - - [05/Dec/2018:00:00:02 +0000] "GET /index?page=1 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
141.1.142.111 - - [05/Dec/2018:00:00:02 +0000] "GET /index?page=61 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
123.125.72.61 - - [05/Dec/2018:00:00:02 +0000] "GET /yoyoketang?page=62 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
141.1.142.131 - - [05/Dec/2018:00:00:02 +0000] "GET /blog?page=3 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
142.22.12.132 - - [05/Dec/2018:00:00:02 +0000] "GET /blog?page=1 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
142.22.12.132 - - [05/Dec/2018:00:00:02 +0000] "POST /blog?page=1 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
142.22.12.132 - - [05/Dec/2018:00:00:02 +0000] "POST /blog?page=3 HTTP/1.1" 200 16739 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 0.120 0.120 .
cat t.log |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $2}' | head -n 10

cut命令通常用来截取数据。-d指定分隔符,-f指定显示的列

sort命令可以给文本进行排序,操作的是行。-n依照数值的大小排序,-r:反向排序(从大到小)

互联网求职&交流 优质资源共享

手里资源比较多,字节、百度、京东、微软、阿里、商汤、携程等,建了个资源共享圈子,有资源的or有需求的

戳下方公众号名片,选择求职-交流群~欢迎大佬们捧场,给予多多资源!

  • 用数据报告,洞悉行业前沿。不定期分享行业最新研究报告、学习资料等优质资源
  • 机会多多,各种一手内推资源,招聘信息。涵盖校招(春招秋招,提前批)、社招、实习(暑期实习,日常实习)
  • 求职经验,面试总结,八股文讲解,技术干货,等资料共享

感谢您的关注,欢迎交流。

Linux-京东字节百度提前批,一面二面都被问到了awk——实例篇(4)ip地址相关相关推荐

  1. Linux-京东字节百度提前批,一面二面都被问到了awk——实例篇(2)去重统计排序

    去年提前批我投了京东.字节和百度,一面,二面都被问到了awk,如果你会,并且还很熟悉,那肯定算是一个加分项了!好感度up up up! 基本原理本篇不再赘述.请阅读: 总结了200篇面经中的awk面试 ...

  2. Linux-京东字节百度提前批,一面二面都被问到了awk——实例篇(3)查进程,kill指定进程

    去年提前批我投了京东.字节和百度,一面,二面都被问到了awk,如果你会,并且还很熟悉,那肯定算是一个加分项了!好感度up up up! 基本原理本篇不再赘述.请阅读: 总结了200篇面经中的awk面试 ...

  3. 百度提前批-百度智能小程序(面经详解)

    文章目录 百度提前批-百度智能小程序(面经详解) 1.定位 2.z-index .层叠 3.作用域(scope) 4.单例模式 5.原型链 6.继承(借用构造函数,寄生组合继承,缺点是什么) 7.闭包 ...

  4. 百度提前批算法工程师面筋!效率有、高

    作者 | 无尽の等待 整理 | NewBeeNLP 面试锦囊之面经分享系列,持续更新中  欢迎后台回复『面试』加入讨论组交流噢  七月中旬投递百度提前批,7.29一面,7.30通知8.2日二面,8月4 ...

  5. vivo嵌入式软开 2021提前批一面二面

    vivo嵌入式软开 2021提前批一面二面 面试官很友好,语气温和,面试内容大概如下(25分钟左右): 自我介绍: 介绍一下你认为做的最好的项目: 项目你负责哪些工作? 项目的细节,比如图像的驱动是不 ...

  6. 2022校招百度提前批校园招聘

    2022校招百度提前批校园招聘 文章目录 2022校招百度提前批校园招聘 起止日期:2022年07月05日-2022年08月27日 起止日期:2022年07月05日-2022年08月27日 百度202 ...

  7. 从字节跳动提前批来看今年校招形势

    作者:阿秀 校招学习网站:https://interviewguide.cn 你好,我是阿秀. 这两天不少互联网公司都陆陆续续开始提前批招聘了,比如大疆就在前几天就已经开始2023届的校招提前批了. ...

  8. 百度提前批校园招聘开始啦!

    百度提前批校园招聘开始了,团队有云原生研发工程师等岗位,欢迎找我了解详情和内推!

  9. 2020百度提前批面试

    一面 自我介绍 介绍一下项目 项目中有没有用正则化方法 BatchNorm能不能阻止梯度消失 对什么机器学习算法有了解 说一下逻辑回归 XGBoost和GBDT的区别 代码:遍历二叉树 代码:计算根号 ...

最新文章

  1. win7如何设置某个软件不弹出用户账户控制
  2. python的none是什么-python中的null与none有什么区别
  3. vSphere利用NTP为主机同步时间
  4. python3.0实例_python3.0 模拟用户登录,三次错误锁定的实例
  5. otn系统中常用的电层_自动化系统中常用的液位计
  6. ubuntu编辑器terminator与vim
  7. linux 挂载硬盘_第七章:走进Linux世界——储存管理1
  8. GitHub student pack
  9. Badboy录制及参数化详细步骤来一波
  10. stm32h7内存分配_stm32h7“分散加载方式管理多块内存”
  11. 如何设计卷积神经网络CNN?
  12. 三段式 matlab,1stopt三段式函数拟合
  13. ue修改倚天服务器时间,正途私服UE修改一些配置脚本
  14. 【视频教程】帝国CMS模板开发制作网站系列教程04
  15. ios-mfi_蓝牙部分翻译
  16. PS制作简单可爱马赛克像素画效果
  17. 写作小技能:知识工作者的全套手艺
  18. 计算机毕业设计如何制作电子商务网站怎么制作购物网站计算机课程设计电子商城做什么(PHP-ASP.NET-c#-JavaWeb-SSM-SSH-J2EE-springBoot
  19. 沐风:小程序推广高手速成秘笈
  20. noip普及组 c语言,厉害了,NOIP普及组竟然这样出题,你会做吗?

热门文章

  1. linux crontab在线生成,linux下crontab在线配置解析 互联网技术圈 互联网技术圈
  2. tensorflow XLA 笔记
  3. 红米手机TWRP读不了刷机包成功解决记录
  4. 策划好一场活动的要点和方法有哪些?
  5. 联想国产自主计算机,实现零的突破,第一款纯国产电脑诞生,网友:此刻联想怎么想?...
  6. 广州银行冲刺A股上市:不良贷款规模突破100亿元,不良率飙升
  7. rrpp协议如何修改_华为交换机―RRPP协议
  8. 机器学习从入门到创业手记-处理数据的乐趣在于挖掘
  9. Excel按列合并相同相邻单元格和拆分单元格
  10. Excel如何跳过空值自动编号呢