AWK进行简单分析文本

简介: AWK进行简单分析文本

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具

基本语法

awk [options] '[pattern] {action}' file

示例

1、使用命令行

cat demo.txt

Hello world!
$ awk '{print}' hello.txt
Hello world!
$ awk -F " " '{print $1}' hello.txt
Hello

说明:

-F选项 指定空格" "作为字段分隔符

$1 分隔后列表索引,从1开始,0是整行

注意'[pattern] {action}' 是单引号

2、使用脚本文件

#运行前
BEGIN {
# 空格分隔
FS=" "
}

#运行中
{
print $1
}
$ awk -f hello.awk hello.txt
Hello

3、多行文件处理示例

demo.txt

name       color  amount
apple red 4
banana yellow 6
strawberry red 3
grape purple 10
apple green 8
plum purple 2
kiwi brown 4
potato brown 9
pineapple yellow 5
# 第三列的值等于2
$ awk -F " " '$3==2 {print $0}' demo.txt
plum purple 2


# 第一列的值以p开头 (不匹配 !~)
$ awk -F " " '$1 ~ /^p/ {print $0}' demo.txt
plum purple 2
potato brown 9
pineapple yellow 5
            </div>
目录
相关文章
|
6月前
|
监控 Unix Linux
强大的文本处理工具组合:egrep、正则表达式、awk、cut、xargs
了解Linux和Unix文本处理的关键工具:egrep(扩展正则表达式搜索)、正则表达式、awk(文本分析)、cut(剪切文本)和xargs(传递参数给命令)。这些工具组合使用可高效处理、分析大量数据,尤其在日志分析和文本查询中。例如,从Web服务器日志中查找404错误,先用egrep筛选,再用awk或cut提取IP和URL,最后用xargs配合其他命令执行操作。掌握这些工具能提升工作效率。
|
5月前
|
存储 Shell Linux
文本三剑客——awk 截取+过滤+统计(1)
文本三剑客——awk 截取+过滤+统计
|
5月前
|
存储 网络协议 Shell
文本三剑客——awk 截取+过滤+统计(2)
文本三剑客——awk 截取+过滤+统计
|
5月前
|
Shell 网络安全 开发工具
文本三剑客——grep过滤
文本三剑客——grep过滤
|
索引 Perl
AWK进行简单分析文本
AWK进行简单分析文本
72 0
|
数据安全/隐私保护 Perl
文本三剑客之awk命令(下)
1 awk概述 awk的工作原理: 逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。 awk倾向于将一行分成多个"字段"然后再进行处理。 awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。 使用awk命令的过程中,可以使用逻辑操作符"&&"表示"与"、"|"表示"或"、"!"表示"非",还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。
146 0
|
机器学习/深度学习 Java Shell
文本三剑客之awk命令(上)
1 awk概述 awk的工作原理: 逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。 awk倾向于将一行分成多个&quot;字段&quot;然后再进行处理。 awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。 使用awk命令的过程中,可以使用逻辑操作符&quot;&&&quot;表示&quot;与&quot;、&quot;|&quot;表示&quot;或&quot;、&quot;!&quot;表示&quot;非&quot;,还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。
170 0
|
Linux 开发者 Perl
文本分析和处理 awk|学习笔记
快速学习文本分析和处理 awk
文本分析和处理 awk|学习笔记
|
Perl
使用 awk 命令统计文本
下面只是在工作中可能会遇到的一个场景,所以记录下来,如果小伙伴有更合适的方式来统计计算,欢迎留言。
252 0