linux分配端口未抢占端口,Linux命令之awk:基础知识(一)
语法形式:
awk [options] ‘script’ var=value file(s)
awk [options] -f scriptfile var=value file(s)
常用选项:
-F :fs fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:
-v :var=value 赋值一个用户定义变量,将外部变量传递给awk
-f :scripfile 从脚本文件中读取awk命令
-m :[fr] val 对val值设置内在限制,-mf选项限制分配给val的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
awk模式和操作
awk脚本是由模式和操作组成的。
模式:
模式可以是以下任意一个:
/正则表达式/:使用通配符的扩展集。
关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试。
模式匹配表达式:用运算符~(匹配)和~!(不匹配)。
BEGIN语句块、pattern语句块、END语句块:参见awk的工作原理
操作:
操作由一个或多个命令、函数、表达式组成,之间由换行符或分号隔开,并位于大括号内,主要部分是:
变量或数组赋值
输出命令
内置函数
控制流语句
awk脚本基本结构
awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' file
一个awk脚本通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块3部分组成,这三个部分是可选的。任意一个部分都可以不出现在脚本中,脚本通常是被单引号或双引号中,例如:
awk 'BEGIN{ i=0 } { i++ } END{ print i }' filename
awk "BEGIN{ i=0 } { i++ } END{ print i }" filename
awk的工作原理
awk 'BEGIN{ commands } pattern{ commands } END{ commands }'
第一步:执行BEGIN{ commands }语句块中的语句;
第二步:从文件或标准输入(stdin)读取一行,然后执行pattern{ commands }语句块,它逐行扫描文件,从第一行到最后一行重复这个过程,直到文件全部被读取完毕。
第三步:当读至输入流末尾时,执行END{ commands }语句块。
BEGIN语句块在awk开始从输入流中读取行之前被执行,这是一个可选的语句块,比如变量初始化、打印输出表格的表头等语句通常可以写在BEGIN语句块中。
END语句块在awk从输入流中读取完所有的行之后即被执行,比如打印所有行的分析结果这类信息汇总都是在END语句块中完成,它也是一个可选语句块。
pattern语句块中的通用命令是最重要的部分,它也是可选的。如果没有提供pattern语句块,则默认执行{ print },即打印每一个读取到的行,awk读取的每一行都会执行该语句块。
linux分配端口未抢占端口,Linux命令之awk:基础知识(一)相关推荐
- Redis命令总结及其基础知识讲述
Redis命令总结及其基础知识讲述 1.redis的不同之处 Redis拥有其他数据库不具备的数据结构,又拥有内存存储(这使得redis的速度非常快),远程操作(使得redis可以与多个客户端和服务器 ...
- linux挂载fc存储有超级坏块_Nand Flash基础知识与坏块管理机制的研究
欢迎FPGA工程师加入官方微信技术群 点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群 概述 Flash名称的由来,Flash的擦除操作是以block块为单位的,与此相对应的是其他很多 ...
- Linux(centos7.9)常用命令大全及基础知识
linux中数组的索引从0开始,其他默认从1开始,例如没有第0列,从第1列开始 在Unix中一切(包括网络套接口)都是文件 在命令行中,无论几个空格,都当成一个空格看待 在linux中,在命令行中通过 ...
- linux执行lsof命令_Linux服务器基础知识之lsof命令
只有root用户才能正确执行lsof命令,普通用户可以看见/usr/sbin/lsof命令,但是普通用户执行会显示"permission denied" Linux下查看80端口运 ...
- linux显卡驱动未加载,Linux下无显卡驱动的解决办法
2011-11-28 13:03 朋友你好! 我刚开始搞linux,碰到了很多问题,想问你下,希望能帮我解答下. 下面是我的一段shell 程序 #!/bin/sh while [ 0 ] do re ...
- linux配置过程未选gnome,Linux技巧:GNOME英文界面下安装配置SCIM输入法
本文以SCIM输入法为例,具体介绍了在SCIM输入法在Linux下GNOME英文界面下安装与使用的配置过程. 安装中文字体 运行 emerge arphicfonts wqy-bitmapfont c ...
- linux shell 变量 管道,linux下shell,变量,管道,重定向等基础知识及技巧
知识点如下: 1,关于shell编程中的变量,shell编程中的变量分为4种 本地变量:只对本系统本用户自己的shell有用 环境变量:对本系统的所有shell都有用 用export来声明变量 例 ...
- 简述linux内核中,Linux内核中的文件描述符(一)——基础知识简介
2.文件描述符 下面进一步介绍进程对自己所访问的file对象的管理方法.linux中使用一个数组来管理进程打开的文件的file对象,数组中的每个元素都存放一个纸箱进程所打开的文件的file对象.既然用 ...
- 从零开始之驱动发开、linux驱动(六十四、内核调试篇--基础知识2[console的建立])
上一节我们分析的earlay的printk知识,本节主要分析一下在内核启动后的printk的知识. 主要是通过下面函数实现的 after_dashes = parse_args("Booti ...
最新文章
- 应用内设置语言不重启方法
- 毕业就拿阿里offer,你和他比差在哪?
- linux命令: tree的c实现
- boost::geometry:::detail::overlay::get_clusters用法的测试程序
- boost::geometry::model::multi_linestring用法的测试程序
- DataSet.Relations 属性
- 模拟电路概念知识体系梳理(基础部分)
- str和unicode类
- Java7并发编程指南——第五章:Fork Join框架
- lucene 增量 全量 更新索引_10年+,阿里沉淀出怎样的搜索引擎?
- 多模块Struts应用程序的几个问题(及部分解决方法)
- webstorm界面主题
- concat函数_《MySQL 入门教程》第15篇MySQL常用函数之字符函数
- 《吐血整理》一篇文章教你学废Git版本管理
- css3八卦,CSS3 阴阳八卦(太极)图动画
- 细读《深入理解 Android 内核设计思想》(三)Binder 机制 [上]
- 网络舆情风险点排查工作实施方案
- og标签对SEO的作用及用法
- 通过淘宝商品ID和sku ID 获取到淘宝商品SKU信息接口,可获取sku价格,sku销量,sku图片及sku库存,SKU尺寸体积接口等参数
- (详细)安装nvidia专有驱动并且正确配置,arch linux + lightdm + deepin desktop
热门文章
- 亚马逊分类目录_新版亚马逊分类目录v2.4程序源码官方分享下载
- linux服务器调优列表,2018-10-24(linux服务器常见的各种参数调优)
- mysql5.6.22编译安装教程_Linux CentOS6.0下编译安装MySQL 5.6.22
- 运维:使用awk命令获取文本的某一行,某一列
- linux怎么让cat运行,使用lolcat让你的Linux命令行出现七彩虹
- android fragment 优势,Android Fragment详解
- org.mariadb.jdbc.internal.com.send.authentication.SendGssApiAuthPacket could not be instantiated
- 目标赋予生命的意义和目的
- 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的微信小程序便利店购物系统
- 基于JAVA+SpringBoot+Mybatis+MYSQL的在线点餐系统