`
mingren135
  • 浏览: 69103 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux命令-awk/sort/uniq

 
阅读更多

AWK的功能是什么?与sed和grep很相似,awk是一种样式扫描与处理工具。但其功能却大大强于sed和grep。awk提供了极其强大的功能:它几乎可以完成grep和sed所能完成的全部工作,同时,它还可以可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。实际上,awk的确拥有自己的语言:awk程序设计语言,awk的三位创建者已将它正式定义为:样式扫描和处理语言。

 

语法:

awk [-F re] [parameter...] ['prog'] [-f progfile] [in_file...]

-F re:允许更改字段分隔符

parameter:为变量赋值

'prog':awk的程序语句段,标准格式'pattern {action}',可以省略之一,省略pattern表示没有样式匹配,省略action标准输出

pattern:可以使用语法/re/加上样式匹配技巧

{action}:总是被大括号包围,各语句之间用分号;分隔

-f progfile:progfile文件,符合awk语法

in_file:awk的输入文件

 

约定:

1)1,2,3...这样的方式来表示记录中不同的字段,0表示整行

2)RS:分隔符变量,NR:当前工作的记录数

 

举例: 

1)第2行到5行中,以%分隔的1、3、5字段值

awk -F % 'NR==2,NR==5 {print $1 $3 $5}' test 

 

 2)在vmstat监控数据,加上时间显示

vmstat -n 5 | awk '{ printf "%s\t",$0; system("date +\"[%F %T\"]"); }' 

vmstat -n 5 | awk '{print strftime("[%Y-%m-%d %H:%M:%S]"),$0}' 

 

3)查询某个时间段访问最频繁的URL请求

cat 2012-05-25-taobao-access_log |grep '2012:05:25:15:1' |awk -F\| '{print $9}'|sort -rn |uniq -c |sort -rn |more 

 

4)nestat查看连接:

netstat -nat | awk '{print $6}' | sort | uniq -c | sort -rn 

netstat -anp | awk '{print $4}' | sort -rn | uniq -c|sort -rn |more 

 

sort----------------------

-n, --numeric-sort          compare according to string numerical value

-r, --reverse               reverse the result of comparisons

-k, --key=POS1[,POS2]     start a key at POS1, end it at POS2 (origin 1),排序关键列

 

 

分享到:
评论

相关推荐

    uniqtoo:`sort |的版本uniq -c`,其输出在解析每一行时实时更新

    的一个版本sort | uniq -c sort | uniq -c与输出,在实时更新的各行被解析。 用法 基于线进入管的东西uniqtoo一样的,你会进入sort | uniq -c sort | uniq -c 。 这是一个示例,该示例计算此存储库中文件的扩展名...

    linux全志R16的linux系统编译的资料_20170502_1655.7z

    全志R16平台编译linux系统V1.0.txt 2017/4/11 13:36 (编译请使用编译android的lichee的选项编译生成的.config文件,不然直接编译会报错!!!!) rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar...

    linux使用lsof命令查看文件打开情况

    主要给大家介绍了关于在linux中利用lsof命令如何查看文件打开情况的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    linux常用命令脚本.txt

    Linux常用命令 # 按 VmSwap 使用量对进程排序,输出进程名称、进程 ID 以及 SWAP 用量 $ for file in /proc/*/status ; do awk '/VmSwap|Name|^Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 3 -n -...

    linux下2个检查tcp连接的命令

    netstat -ant|awk '{print $5 \t $6}'|grep ::ffff:|sed -e 's/::ffff://' -e 's/:[0-9]*//' |sort|uniq -c| sort -rn|head -10 结果: 122 125.162.71.199 TIME_WAIT 99 79.119.125.43 TIME_WAIT 81 125.167.243.77...

    linux.chm文档

    locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令 whereis halt 显示一个二进制文件、源码或man的位置 which halt 显示一个二进制文件或可执行文件的完整路径 挂载一个文件系统 mount /dev/...

    一个简单的防CC攻击Shell脚本分享

    /bin/shcd /var/log/httpd/cat access_log|awk ‘{print $1}’|sort|uniq -c|sort -n -r|head -n 20 > acp /dev/null access_logcp /dev/null error_logcp /dev/null limit.shcp /dev/null c#awk ‘{print $2}’ a|...

    Linux学习笔记【博文整理系列】

    Linux笔记——命令:Sort,uniq,join,cut,paste,split Linux笔记——shell基础:变量&本地变量&位置变量&特定变量参数 Linux笔记——条件测试test Linux笔记——控制流 Linux笔记——shell补充:参数传递&函数等 Linux...

    死了的简单动漫cli xdcc下载脚本,适用于linux / win / mac-Linux开发

    Linux:安装以下依赖项:awk,bash,curl,fzf,grep,head,jq,sed,sort,uniq,xdccget。 确保xdccget是可执行文件,并且已添加到$ PATH中。 Windows:...

    毕业设计论文范文源码-InterviewFAQ-Linux:总结操作系统及Linux的面试常见问题

    常用命令 编辑相关 awk NF:字段总数 NR:第几行数据 FS:分隔字符 sed -n -i 直接修改 4a:在第四行后添加 4i:在第四行前插入 1,5c sting:用sting替换1到5行的内容 s/要被替换的字符串/新的字符串/g sort -t -nr ...

    shell脚本定时统计Nginx下access.log的PV并发送给API保存到数据库

    1,统计PV和IP 统计当天的PV(Page View) ...cat access.log.1 |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 查看日志中访问次数超过1000次的前10个IP cat access.log.

    Linux 常用命令整理

    从文件和目录操作到用户管理等。 ls cp cut head stat sort uniq awk grep sed chmod chown useradd groupadd mount 等

    windows dos环境下直接运行linux命令集合

    使用方法,解压到本地目录,配置path,即可在dos下使用linux命令。 windows下能直接执行的linux命令,基本包括日常所有,如:[.exe grolbp.exe regtool.exe a2p.exe grolj4.exe rm.exe a2p5.10.0.exe grops.exe ...

    Linux课堂笔记.pdf

    一、操作系统概述 1、 操作系统 2、 不同应用利于的主流操作系统二、系统安装 1、安装VM虚拟机 1.1 简要介绍 1.2 配置网卡 2、 配置网卡信息 3、 Linux目录详解 三、 命令概述 1、 常用快捷键 ...2.8.12 awk命令

    linux – CenterOS 搞定 【端口】 + 【MySQL / Mariadb】: 安装、远程连接

    《centos7 安装Mariadb》 ...日志查询: cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2 = $1;}' 《修改服务器22端口, 以防止暴力破解》 《Linux awk命令详解》 作者

    在Linux下如何查CC攻击?

    什么是CC攻击?CC攻击是利用大量代理服务器对目标计算机发起大量连接,...  netstat -anp | grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n  netstat -ntu | awk '{print $5}' | cut

    如何查看Apache的连接数和当前连接数

    查看了连接数和当前的连接数 代码如下: netstat -ant | grep $ip:80 | wc -l ...| sort| uniq -c|sort -n Linux命令: 代码如下: netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’ watch “n

    用shell脚本防ssh和vsftpd暴力破解的详解讲解

    脚本需求如下:此SHELL脚本放在crontab计划任务里,每隔6小时(此时间根据实际情况来定义)就去读取/var/log/secure脚本,取出里面恶意猜测IP,如果单位时间内(一星期)的连接数是高于一个阀值,例如100(此阀值也...

    Linux下apache日志分析与状态查看方法

    假设apache日志格式为:118.78.199.98 – – [09/Jan/2010:00:59:59 +0800] “GET /Public/Css/index.css HTTP/1.1″ 304 – ...awk ‘{print $1}’ apache_log |sort |uniq -c|sort -nr|head -n 10 aw

    linux下shell处理nginx日志自动生成ip黑名单

    awk '{print $1}' '/PATH/'$data'.log' | sort -n |uniq -c | sort -rn | head -n 10 >>/PATH/ip10-$data.txt ##blackip.sh 判断ip访问次数是否超过限定值,是就加入黑名单中 #!/bin/bash #获取当前日期 data=`date...

Global site tag (gtag.js) - Google Analytics