shell-awk的BEGIN和END
文章目录
- 一、Awk 的两个特殊模式
- 实例:
- 二、Awk高级应用
- 1. if单分支语句
- 2. if双分支语句
- 3. for循环
- 4. while循环
- SHELL—— awk两个特殊模式(BEGIN 和 END)及awk高级应用(条件判断、循环)
一、Awk 的两个特殊模式
- BEGIN 和 END,BEGIN 被放置在没有读取任何数据之前
- END 被放置在所有的数据读取完成以后执行
- 体现如下:
- BEGIN{}: 读入第一行文本之前执行的语句,一般用来初始化操作
{}: 逐行处理
END{}: 处理完最后以行文本后执行,一般用来处理输出结果
实例:
文件开头加XWPHSA,末尾加XWPHCA ,打印行号和内容
[root@server19 mnt]# awk -F: 'BEGIN {print "XWPHSA"} {print NR;print} END {print "XWPHCA"}' /etc/passwd
统计文本总字段个数
[root@server19 mnt]# vim test.txt
hui hui XX
XX
XX ni Xx[root@server19 mnt]# awk 'BEGIN{i=0}{i+=NF}END{print i}' test.txt
7
二、Awk高级应用
1. if单分支语句
统计登录shell为bash的用户
[root@server19 mnt]# awk -F: 'BEGIN{i=0}{if($7~/bash$/){i++}}END{print i}' /etc/passwd
2
1
2
统计/etc/passwd下uid小于500的用户个数
[root@server19 mnt]# awk -F: 'BEGIN{i=0}{if($3<500){i++}}END{print i}' /etc/passwd
31
1
2
2. if双分支语句
统计uid小于等于500和大于500的用户个数
[root@server19 mnt]# awk -F: 'BEGIN{i=0;j=0}{if($3<=500){i++}else{j++}}END{print i,j}' /etc/passwd
31 9
3. for循环
生成1-5序列
[root@server19 mnt]# awk 'BEGIN{for(i=1;i<=5;i++){print i}}'
1
2
3
4
5
```java
[root@server19 mnt]# seq 5 ##seq命令可以直接生成
1
2
3
4
5
1
2
3
4
5
6
7
8
9
10
11
12
13
4. while循环
语法一:
[root@test ~]# awk 'i=1 {} BEGIN {while (i<3) {++i;print i}}' test.txt
1
2
3
[root@test ~]#
语法二:
[root@test ~]# awk 'BEGIN {do {++i;print i} while (i<3)}' test.txt
1
2
3
shell-awk的BEGIN和END相关推荐
- shell awk 的一些用法
#1.打印挂载目录的使用量,默认以空格为分割 df -Ph | awk '{ print $5,$6 }' #2.以空格.冒号.\t.分号为分割 awk -F '[ :\t;]' '{print $1 ...
- Shell awk文本处理,shell脚本编写
Shell awk文本处理,shell脚本编写 一:内容包含awk.变量.运算符.if多分支 <a>语法糖: awk [options] 'commands' files option - ...
- linux shell awk 语法
引用:http://blog.csdn.net/weekly123/article/details/1465675 inux shell awk 语法 Awk 是一种非常好的语言,同时有一个非 ...
- linux shell awk用法
Awk 是一种非常好的语言,同时有一个非常奇怪的名称.在本系列(共三篇文章)的第一篇文章中,Daniel Robbins 将使您迅速掌握 awk 编程技巧.随着本系列的进展,将讨论更高级的主题,最后将 ...
- shell awk命令
语法: awk '{command}' filename 多个命令以分号分隔. awk 'BEGIN {command1} {command2} END{command3}' 注意:BEGIN , ...
- linux awk拼接字符串,shell awk命令字符串拼接
摘要 腾兴网为您分享:shell awk命令字符串拼接,智联招聘,心视界,同花顺,手机管家等软件知识,以及一师一优课一课一名师登录,去视频水印,防沉迷解除,兼职猫招聘网,c4d渲染插件,社会实践活动登 ...
- shell awk命令详解
shell awk命令详解 awk原理 格式 实操 相关内建变量 简易需求 进阶操作 高阶操作 awk原理 逐行读取文本,默认时以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中, ...
- Linux 抓取网页实例(shell+awk)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 上一篇博 ...
- linux shell awk BEGIN END 处理文本之前之后执行操作 简介
目录 简介 1 最简单的action 既没有pattern 有没有options 2 awk是逐行处理 2.1 输出整行 2.2 输出最后一列 2.3 输出倒数第二列 3 pattern 3.1 be ...
- shell awk sed tr grep 语法汇总
原文地址:http://www.cnblogs.com/wajika/p/6374043.html tr 基本语法 -c # 用字符串1中字符集的补集替换此字符集,要求字符集为ASC ...
最新文章
- 读书笔记-沙漠里的细水微光
- 白话Elasticsearch35-深入聚合数据分析之案例实战更多metrics用法:统计每种颜色电视最大最小价格
- TCP三次握手的原理及***手段
- Ross《随机过程》(第二版)装填问题Python模拟实验
- python学习-综合练习(平方根、海伦公式、随机数、转换函数、数值交换)
- 【转】XP/2000无法使用“缩略图查看”、右键无“设置桌面背景”选项问题详解...
- 1.12.05 统计单词数
- 4.线性和卷积——边界问题、解决边界方法和Matlab实战_3
- 力扣268.丢失的数字
- Machine Learning系列实验--SoftMax Regression
- tp摄像头的默认地址_TPLINK默认IP地址是什么?
- redis为什么这么快
- 广东英语高考怎么计算机,2019广东高考英语听说考试大纲出炉!附三大题型得分套路!...
- 次坐标从0开始_定位基础-坐标变换
- 【MySQL】数据库的高级查询
- 揭密Oracle之七种武器之三:破译古老的谜题---共享CBC Latch的秘密
- opencv android安装教程,opencv for android安装教程.doc
- 微信公众号运营策划方案书之公众号基础知识
- 如何使用BM25算法检索出最相关的序列
- 前置机应用服务器,web服务器前置机(erp)部署步骤.pdf
热门文章
- 2020年第十届C/C++ B组第一场蓝桥杯省赛真题第一题:跑步训练(5分
- JS获取当前节点的兄弟/父/子节点
- html 里img图片被自动旋转,关于HTML5显示图片翻转90度的问题
- UE 添加模块的全局宏
- 五子棋透明棋盘界面设计(C语言)
- FlyAI资讯:Uber正式开源分布式机器学习平台:Fiber
- 用Modelsim SE 直接仿真 Altera(Intel PSG) IP核 需要注意的问题
- spring @Transactional事务未提交导致的并发问题
- JArray转DataSet
- Spring boot+Vue前后端分离项目实战——学生管理系统【三】后端