1.1. 输出记录最多的IP

[腾讯面试题]:一个文本类型的文件,里面每行存放一个登陆者的IP(某些行是重复的),写一个shell脚本输出登陆次数最多的用户。

Ip_input.txt的内容假设如下:

219.217.49.14

175.43.4.87

87.48.98.1

59.73.38.25

219.217.50.14

59.92.48.32

219.217.49.14

59.72.38.142

59.73.38.25

219.217.49.14

#! /bin/bash

# test.sh

sort ip_input | uniq -c | sort | tail -1 | awk '{print $2}' 或者:

sort ip_input | uniq -c | sort -r | head -1 | awk '{print $2}'

uniq -c 选项。它的作用是将重复行去掉并且在每行的前面添加此行重复的次数

sort命令的默认排序方式是升序,使用 -r 选项逆序排序结果,则出现次数最多的IP则排在了第一行

1.2. 处理一下文件内容,将域名取出并进行计数排数,如处理:

http://www.baidu.com/index.html

http://ww.baidu.com/1.html

http://www.baidu.com/2.html

http://post.baidu.com/index.html

http://mp3.baidu.com/index.html

http://www.baidu.com/3.html

http://post.baidu.com/2.html

得到如下结果:域名的出现次数,域名

4     www.baidu.com

2     post.baidu.com

1     mp3.baidu.com

shell程序如下:

方法一:

#cat file | sed -e 's/http:\/\///' -e 's/\/.*//'| sort | uniq -c | sort -nr | head -10

sort -n   依照数值的大小排序。

方法二:

#awk -F/  '{print $3}' file|sort -r|uniq -c|awk '{print $1 "\t",$2}'

1.3. 从a.log文件中提取包含"WARNING"或"FATAL",同时不包含"IGNOR"的行,然后提取以":"分割的第5个字段.

grep -E 'WARNING|FATAL' file|grep -v 'IGNOR'|awk -F: '{print $5}'

1.4. 在shell环境中,如何查看远程Linux系统运行了多少时间?

ssh user@被监控的主机ip "uptime"|awk '{print $3,$4}'

1.5. 腾讯一shell试题.

假设qq.tel文件内容:

12334:13510014336

12345:12334555666

12334:12343453453

12099:13598989899

12334:12345454545

12099:12343454544

分类如下:

[12334]

13510014336

12343453453

...........

[12099]

13598989899

12343454544

............

实现如下:

cat qq.tel|sort -r |awk -F: '{if(tmp!=$1) {tmp=$1;print "["tmp"]"} print $2}'

cat e | sort -r | awk -F: '{if(head!=$1){print $1;head=$1;} print $2} '

awk 一些题目的更多相关文章

  1. shell脚本,awk常见初始化变量的题目。

    文件 内容如下 clone=line1gb=line1gi=line1lib=line1gb=line2gi=line2lib=line2clone=line3gb=line3gi=line3lib= ...

  2. 关于awk的逗号问题

    对于awk逗号的问题,我昨天看的一本书有提过: <Linux就是这个范儿>挺好的书,大家可以看看~~~~ 测试过,总结如下(不知道总结有没有错,欢迎大家吐槽,欢迎大家吐槽,吐槽,吐槽... ...

  3. awk 手册--【转载】

    1. 前言 有关本手册 : 这是一本awk学习指引,  其重点着重于 : l         awk 适于解决哪些问题 ? l         awk 常见的解题模式为何 ? 为使读者快速掌握awk解 ...

  4. 一个利用sed和awk处理文本的小栗子

    这两天做<Linux操作系统>课程的作业,碰到了一个题目,感觉很有意思,很考验对awk掌握的熟练度,故特意拿来分享. 首先说题目是这样的,有这样一段文本: RECORD #这是多余的注释行 ...

  5. awk中文手册

    1. 前言 有关本手册 : 这是一本awk学习指引, 其重点着重于 : l        awk 适于解决哪些问题 ? l        awk 常见的解题模式为何 ? 为使读者快速掌握awk解题的模 ...

  6. awk简单使用『摘.非原创』

    1 awk简介 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是lin ...

  7. 见过的最好AWK手册

    原文: http://linuxfire.com.cn/~lily/awk.html 简体中文版由bones7456 (http://li2z.cn)整理. 原文:应该是 http://phi.sin ...

  8. 【译】 AWK教程指南 10编写可与用户交互的AWK程序

    执行awk程序时,awk会自动从文件中读取数据来进行处理,直到文件结束.只要将awk读取数据的来源改成键盘输入,便可设计与awk 交互的程序.本节将提供一个该类程序的范例. 范例:本节将编写一个英语生 ...

  9. 【译】 AWK教程指南

    前面的话: 这几天写了一个程序,在同一个目录里生成了很多文件,需要统计其中部分文件的总大小,发现经常用到的ls.du等命令都无济于事,我甚至都想到了最笨的方法,写一个脚本:mkdir一个新目录,把要统 ...

随机推荐

  1. Java中配置环境变量

    在系统环境变量中设置: ClASSPATH中输入: ".;C:\Program Files\Java\jdk1.7.0_07\jre\lib\rt.jar;"//java的安装目录 ...

  2. 一次Spring Transactional嵌套事务使用不同的rollbackFor的分析

    起因: 项目期间由于一次异常回滚问题,发现自己在事务知识方面知识的遗漏,趁着这次机会,做了几次rollbackFor的测试. 测试:   现在有两个事务,事务oute包含事务Inner.事务A回滚规则 ...

  3. Linux下使用Eclipse 远程调试

    1 开启端口 修改/apache-tomcat-7.0.40/bin/catalina.sh 在合适的位置(请自行判断,只要有JAVA_OPTS的设定前后即可)插入下面的设定:UI_DEBUG=&qu ...

  4. Perl 数组应用详解(push, pop, shift, unshift)

    Perl的数组操作有四大常用函数: push:从数组的末尾加入元素.pop :从数组的末尾取出元素 shift: 从数组的开头取出元素unshift:从数组的开头加入元素 1.push #!/usr/ ...

  5. AtCoder ABC 128D equeue

    题目链接:https://atcoder.jp/contests/abc128/tasks/abc128_d 题目大意 有一个双端队列,里面有 N 个整数,你可以进行如下4种操作: A:从队头那一个到 ...

  6. 『BASH』——Learn BashScript from Daniel Robbins——[003]

    ABSTRACT: Daniel Robbins is best known as the creator of Gentoo Linux and author of many IBM develop ...

  7. k8s 存储 nfs服务

    1.所有节点安装nfs yum install nfs-utils -y 2.配置nfs服务端,在master节点上 vim exports /data 10.0.0.0/24(rw,async,no ...

  8. solr 查询同一个core 的关联字段

    实现一个core里面多个字段的关联查询: 应用场景是: 词, 句子,文章 希望通过查询实现词,句子,文章里面共同有的关键字 private static CloudSolrServer cloudSo ...

  9. java程序——CPU过高100%及内存泄露排查

    CPU过高 这类问题可以使用 top 命令观察一些,CPU 是不是都被 Java 程序占用了.比如下面这个截图: 服务器的 CPU 大多都被 Java 占用了.这正是我们之前生产上 CPU 过高的一个 ...

  10. jQuery post使用变量作参数名

    jQuery Query Post使用方法: $.post("test.php", { name: "John", time: "2pm" ...