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