就linux三剑客简单归纳:
:awk 习题1:用 awk 中查看服务器连接状态并汇总
netstat -an|awk '/^tcp/{++s[$NF]}END{for(a in s)print a,s[a]}'
ESTABLISHED
LISTEN
习题2:统计 web 日志访问流量,要求输出访问次数,请求页面或图片,每个请求的总大小, 总访问流量的大小汇总
awk '{a[$7]+=$10;++b[$7];total+=$10}END{for(x in a)print b[x],x,a[x]|"sort -rn";print "total size is :"total}' /app/log/access_log
total size is :
/icons/poweredby.png
/
/icons/apache_pb.gif awk基本用法:awk –F [:” ”] ‘BEGIN{事件}{事件}END{事件}’
它里面可以用到if,for,数组等类c的语法,其中数组下标除了可以是数字外还可以是字符串,这就大大增强了它的文本统计能力。在awk里变量可以不用先定义,可以直接用,初始值为0。
关于逗号的用法:
Awk和sed里都可以用,用法为awk ‘/A/,/B/ {事件}END{事件}’ filename 匹配所有符合从字符A到第一个字符B的内容并后面事件处理
Sed –n ‘/A/,/B/p’ filename 匹配所有符合从字符A到第一个字符B的内容并输出到屏幕 :sed 常用参数:
-I 直接修改文档读取的内容,不在屏幕上输出
-n 当选项-n和命令p同时出现时,sed 可打印选定的内容
-r Sed 使用扩展正则 :grep 常用参数:
-I 忽略字符大小写的差别
-w 精确查找指定字符串,找到了就返回字符所在的那一行
-o 查找指定字符,仅返回查找的内容,一般加E配合,查找正则表达式
-E 选项使用扩展正则表达式 练习:
在下面文本内容里统计device{}里的key的数量,其他地方的key不算。假如filename为case.log: key is a linuxer.
device: {
oo
key key key
no sql
this is log
niu niu
}
key
device: {
key key
no sql
this is log
niu niu
}
key key
device: {
key key
no sql
this is log
niu niu
}
device: {
key key
no sql
this is log
niu niu
}
Key 个人解答方法:

awk '/^device :{/,/}/ {for(i=1;i<=NF;i++) if($i~/oldboy/) ++count;} END{print count}' case.log
解释:先匹配所有符合device开头且每次匹配到第一个}的内容,再在每行的每个字段进行匹配key,最后输出key的num值。

Sed –n ‘/device :{/,/}/p’ case.log | tr “ ” “\n”| grep –w “key”| wc -l
解释:先用sed进行匹配device里的所有含key的行,在用tr把空格换成换行,再用grep去匹配key的行(每行一个字符段),最后用wc –l统计行的数量及为key的num值。

Sed –n ‘/device :{/,/}/p’ case.log | awk –F “ ” ‘{for(i=;i<=NF;i++) if($i~/key/) ++count} END{print count}’ sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。
常用参数:
-n :使用『纯数字』进行排序(默认是以文字型态来排序的);
-r :反向排序;
-t :分隔符,默认是用 [tab] 键来分隔;
-k :以那个区间 (field) 来进行排序的意思
sort 是默认以第一个数据来排序,而且默认是以字符串形式来排序,默认从小到大顺序。
cat /etc/passwd | sort -t ':' -k 第三栏来排序,小到大 uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。
常用参数:
-i :忽略大小写字符的不同
-c :进行计数
-u :只显示唯一的行
-d :仅显示存在重复的行 cut命令可以从一个文本文件或者文本流中提取文本列。
常用参数:
-c :以字符为单位进行分割
-d :后面接分隔字符。与 -f 一起使用;
-f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
echo $PATH | cut -d ':' -f 找出第五个路径
echo $PATH | cut -d ':' -f -, 找出第一到第三个路径
echo $PATH | cut -d ':' -f - 找出第三到最后一个路径 wc命令统计文件里面有多少行,多少单词,多少字符。
常用参数:
-l :仅列出行;
-w :仅列出多少字(英文单字);
-m :多少字符; tee命令读取标准输入的数据,并将其内容输出成文件。 参  数:
-a或  附加到既有文件的后面,而非覆盖它;
[root@localhost ~]# who | tee who.out
root     pts/0        2009-02-17 07:47 (123.123.123.123)
[root@localhost ~]# cat who.out
root     pts/0        2009-02-17 07:47 (123.123.123.123)
[root@localhost ~]# pwd | tee -a who.out
/root
[root@localhost ~]# cat who.out
root     pts/0        2009-02-17 07:47 (123.123.123.123)
/root paste命令用于合并文件的列,paste指令会把每个文件以列对列的方式,一列列地加以合并。

参数

-d<间隔字符>  用指定的间隔字符取代跳格字符;

-s  串列进行而非平行处理;

就linux三剑客简单归纳的更多相关文章

  1. linux设备驱动归纳总结(十二):简单的数码相框【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-116926.html linux设备驱动归纳总结(十二):简单的数码相框 xxxxxxxxxxxxxx ...

  2. linux设备驱动归纳总结(十一):写个简单的看门狗驱动【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-112879.html linux设备驱动归纳总结(十一):写个简单的看门狗驱动 xxxxxxxxxxx ...

  3. linux设备驱动归纳总结(五):4.写个简单的LED驱动【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-84693.html linux设备驱动归纳总结(五):4.写个简单的LED驱动 xxxxxxxxxxx ...

  4. 【Linux开发】linux设备驱动归纳总结(十一):写个简单的看门狗驱动

    linux设备驱动归纳总结(十一):写个简单的看门狗驱动 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  5. 【Linux开发】linux设备驱动归纳总结(十二):简单的数码相框

    linux设备驱动归纳总结(十二):简单的数码相框 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  6. 【Linux开发】linux设备驱动归纳总结(五):4.写个简单的LED驱动

    linux设备驱动归纳总结(五):4.写个简单的LED驱动 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  7. Linux 三剑客之 awk 实战详解教程

    我们知道 Linux 三剑客,它们分别是:grep.sed.awk.在前边已经讲过 grep 和 sed,没看过的同学可以直接点击阅读,今天要分享的是更为强大的 awk. sed 可以实现非交互式的字 ...

  8. linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-119723.html linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟 xxxxxxxxxx ...

  9. linux设备驱动归纳总结(十):1.udev&misc【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-111839.html linux设备驱动归纳总结(十):1.udev&misc xxxxxxx ...

随机推荐

  1. 【转】常用算法复习及实现(C++版)

    一.霍夫曼树实现 给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree).哈夫曼树是带权路径长度最短的树,权值较大 ...

  2. springboot整合mybatis(映射文件方式和注解方式)

    springboot作为一个微服务框架,给我们开发人员提供极大的便利,秉着约定大于配置的原则,通过starter包的形式为我们做了许多默认的配置,在进行数据持久化到关系型数据库时,我们一般都会首选sp ...

  3. oracle 表空间tablespace

    一.Oracle 表空间的组成 Everoone knows Oracle数据库真正存放数据的是数据文件,Oracle表空间是逻辑上的概念,他在物理上是并不存在的,把多个DataFile合并到一起就是 ...

  4. c#,利用WPF的ScaleTransform和TranslateTransform实现图片的缩放效果

    一.缩放要求 1.缩放对象在可视区域内,已对象的中心点进行缩放. 2.缩放对象比可视区大,并且对象各边界都在可视区外围,那么已鼠标位置进行缩放. 3.缩放对象比可视区大,但是缩放后某一边界在可视区的对 ...

  5. React.js 小书 Lesson19 - 挂载阶段的组件生命周期(二)

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson19 转载请注明出处,保留原文链接和作者信息. 这一节我们来讨论一下对于一个组件来说,cons ...

  6. WEBPACK & BABEL 打包项目

    本文首发于 BriFuture's Blog. 最近在用 Vue 重写之前的一个项目 Compass,这个项目以前是用 QML + JavaScript 在 Qt 平台上搭建的.这是我本科毕设时做的一 ...

  7. 获取IP相关信息和文件上传

    获取IP相关信息 要获取用户访问者的IP地址相关信息,可以利用依赖注入,获取IHttpConnectionFeature的实例,从该实例上可以获取IP地址的相关信息,实例如下: var connect ...

  8. Web后台模拟前端post(带NTLM验证)

    using System.Data; using System.Net; using System.IO; using System.Net.Http; using System.Web; using ...

  9. 使用Myeclipse进行简单webservice开发的示例

    (转) http://blog.csdn.net/changhenshui1990/article/details/70142371 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要 ...

  10. Android 屏蔽recent task 按钮

    Step 1 Add this permission to the manifest.xml file <uses-permission android:name="android.p ...