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),排序关键列
相关推荐
在Linux操作系统中,掌握如何查看文件的打开情况对于系统...在日常工作中,学会结合`lsof`与其他命令(如`ps`、`grep`、`awk`等)进行组合,将大大提升工作效率。了解并掌握`lsof`的使用,是提升Linux技能的关键一步。
### 学习Linux---不得不知的Linux命令 在Linux操作系统中,掌握一系列基本且重要的命令是每个用户必备的技能之一。这些命令可以帮助我们更高效地管理服务器、进行日常操作及故障排查等工作。以下是对给定内容中列出...
的一个版本sort | uniq -c sort | uniq -c与输出,在实时更新的各行被解析。 用法 基于线进入管的东西uniqtoo一样的,你会进入sort | uniq -c sort | uniq -c 。 这是一个示例,该示例计算此存储库中文件的扩展名...
Linux 命令考试题(范围) 在 Linux 系统中,命令是一种强大的工具,可以帮助用户快速地完成各种任务。以下是 Linux 命令考试题的知识点总结: SecureCRT 命令行快捷键 * 粘贴剪贴板的内容:Ctrl + Shift + V * ...
它们与`grep`、`sort`、`uniq`、`head`和`tail`等工具一起,构成了Linux系统下文本过滤和操作的基础。 `grep`是一个强大的文本搜索工具,它能查找包含指定模式的行。例如,`grep nobody /etc/passwd`将找到`/etc/...
Linux命令大全是Linux系统管理员和普通用户日常操作中不可或缺的一部分,这些命令用于管理和查看系统信息、文件和目录、网络状态等多个方面。以下是一些常见的Linux命令及其用途的详细解释: 1. **系统信息**: - ...
- `netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn`: 此命令用于统计不同TCP连接状态的数量,`$6`代表状态,排序后可快速找出异常状态。 - `netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print ...
全志R16平台编译linux系统V1.0.txt 2017/4/11 13:36 (编译请使用编译android的lichee的选项编译生成的.config文件,不然直接编译会报错!!!!) rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar...
在Linux操作系统中,掌握一些基础的命令是至关重要的,这能够帮助你更高效地管理和操作文件系统。以下是关于标题"Linux学习笔记,最经常用的命令"和描述"学习LINUX最先接触的一些命令,比较实用"中涉及的几个关键...
netstat -anlp | grep 80 | grep tcp | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | head -n 20 ``` - `netstat -anlp`: 显示所有网络连接和监听端口,`-p`显示进程ID和名称。 - `grep...
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn ``` 3. **`cut`**:提取指定列。若只关心IP和状态码,可使用: ``` cut -d ' ' -f 1,6 /var/log/nginx/access.log ``` 4. **`date`...
grep netingcn * -R | awk -F: '{print $1}' | sort | uniq | xargs sed -i s/netingcn/.netingcn/g 这条命令将当前文件夹下的所有文件中的 netingcn 字符串替换为 .netingcn。 使用 grep 和 sed 命令可以轻松实现...
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命令及其用途: 1. **wall**:此命令用于向系统中所有登录的用户发送广播消息,是一个有效的系统通知工具。 2. **w, who**:这两个命令可以查看当前有哪些用户已登录系统以及他们的活动状态...
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...
`uniq`命令在Unix/Linux中是一个非常常见的文本处理工具,它用于过滤出连续重复的行,通常与`sort`命令结合使用,因为`uniq`只对连续的重复行进行处理。在Windows环境下,如果没有内置的`uniq`命令,可以寻找替代品...
- `/usr/sbin/lsof -n | awk '{print $2}' | sort | uniq -c | sort -nr | more`: 统计所有进程占用的句柄数目,按数量降序排列。 - `ps -aef | grep 24204`: 查看进程ID为24204的详细信息。 6. **处理未释放句柄...
grep netingcn * -R | awk -F: '{print $1}' | sort | uniq | xargs sed -i s/netingcn/.netingcn/g ``` 这条命令使用 awk 命令来分割字符串,对结果进行排序和去重,然后使用 xargs 命令将结果传递给 sed 命令实现...
### Linux文本处理命令合集详解 #### diff/patch:查找/修补文本差异 - **diff** 命令用于比较两个文件之间的不同之处。 - `diff version1.txt version2.txt`:简单地列出两个文件之间的不同行。 - `diff -u ...
本文将详细介绍Linux系统中常见的60个必备命令,这些命令覆盖了从基本的文件和目录管理到高级的网络配置和系统监控等各个方面。 1. 文件和目录操作命令: - ls:列出目录内容。 - cd:改变当前工作目录。 - pwd...