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>
目录
相关文章
|
4月前
|
存储 Shell Linux
文本三剑客——awk 截取+过滤+统计(1)
文本三剑客——awk 截取+过滤+统计
|
4月前
|
存储 网络协议 Shell
文本三剑客——awk 截取+过滤+统计(2)
文本三剑客——awk 截取+过滤+统计
|
4月前
|
Shell 网络安全 开发工具
文本三剑客——grep过滤
文本三剑客——grep过滤
|
索引 Perl
AWK进行简单分析文本
AWK进行简单分析文本
70 0
|
数据安全/隐私保护 Perl
文本三剑客之awk命令(下)
1 awk概述 awk的工作原理: 逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。 awk倾向于将一行分成多个"字段"然后再进行处理。 awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。 使用awk命令的过程中,可以使用逻辑操作符"&&"表示"与"、"|"表示"或"、"!"表示"非",还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。
140 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;,还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。
165 0
|
Perl
使用 awk 命令统计文本
下面只是在工作中可能会遇到的一个场景,所以记录下来,如果小伙伴有更合适的方式来统计计算,欢迎留言。
245 0
|
网络协议 Shell Perl