IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

一分钟学awk够用(产品经理都懂了)

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

1分钟懂awk-技不在深,够用就行


1、什么是AWK

(1)Aho、Weinberger、Kernighan三位发明者名字首字母;

(2)一个行文本处理工具;


2、AWK基本原理

2、1原理:逐行处理文件中的数据

2、2语法

awk ‘pattern + {action}’

说明:

(1)单引号”是为了和shell命令区分开;

(2)大括号{}表示一个命令分组;

(3)pattern是一个过滤器,表示命中pattern的行才进行action处理;

(4)action是处理动作;

(5)使用#作为注释;

例子:显示hello.txt中的第3行至第5行

cat hello.txt | awk ‘NR==3, NR==5{print;}’

2、3pattern说明

pattern参数可以是egrep正则中的一个,正则使用/pattern/

例子:显示hello.txt中,正则匹配hello的行

cat hello.txt | awk ‘/hello/’

说明:

(1)pattern和action可以只有其一,但不能两者都没有;

(2)默认的action是print;

例子:显示hello.txt中,长度大于100的行号

cat hello.txt | awk ‘length($0)>80{print NR}’


3、内置变量

FS 分隔符,默认是空格

NR 当前行数,从1开始

NF 当前记录字段个数
$0 当前记录
$1~$n 当前记录第n个字段
例子:显示hello.txt中的第3行至第5行的第一列与最后一列

cat hello.txt | awk ‘NR==3, NR==5{print $1,$NF}’


4、内置函数

gsub(r,s):在$0中用s代替r

index(s,t):返回s中t的第一个位置

length(s):s的长度

match(s,r):s是否匹配r

split(s,a,fs):在fs上将s分成序列a

substr(s,p):返回s从p开始的子串


5、操作符

5、1运算符

类似于c,支持+、-、*、/、%、++、–、+=、-=等诸多操作;

5、2判断符

类似于c,支持==、!=、>、=>、~(匹配于)等诸多判断操作;


6、控制流程

6、1.BEGIN和END

BEGIN和END本质是一个pattern。

BEGIN用于awk程序开始开始前,做一些初始化的工作;

END用于awk程序结束前,做一些收尾的工作。

例子:统计字符个数

awk ‘

BEGIN

{

count=0;

}

{

count+=length($0);

}

END

{

print count;

}’


6、2流程控制语句

(1)if(condition){}else{}

(2)while{}

(3)do{}while(condition);

(4)for(init;condition;step){}

(5)break/continue:如果有END,会执行END中的收尾工作

个流程控制语句用法几乎与c相同。


7、awk与shell的交互

(1)awk中使用shell中定义的变量:使用单引号即可;

#!/bin/bash

STR=”hello”

echo | awk ‘{

print “‘${STR}'”;

}’

(2)awk中使用shell命令:使用双引号,或者system命令;

#!/bin/bash

echo hello | awk ‘{

print $0 | “cat”

}’

或者

#!/bin/bash

echo | awk ‘{

system(“date > date.txt”)

}’

(3)awk中的变量传出至shell:没有什么好方法,老老实实用文件吧;

(4)getline:awk里,从文件中读取变量到awk中

#!/bin/bash

echo | awk ‘{

while(getline < “date.txt”)

{

print $0;

}

}’


8、结束语

对不起,楼主欺骗了你,认真看完本文或许不止1分钟。不过,如果你真的认真阅读并超过了1分钟,相信你会有收获。

干货推荐

作者:58沈剑 | 来源公众号 | 架构师之路

文章永久链接:https://tech.souyunku.com/?p=10472


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(87) 打赏



未经允许不得转载:搜云库技术团队 » 一分钟学awk够用(产品经理都懂了)

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367