Linux awk 使用用例

环境:CentOS

鉴于语句描述苍白无力,用例子直接说明。

文件内容:

zilzhang 19881110 jiangxi 18 film

zhagnsan 21321    sichuan 100 card

1. 打印整行

$ awk ‘{print $0}‘ mytxt

zilzhang 19881110 jiangxi 18 film

zhagnsan 21321    sichuan 100 card

2. 打印第三行

$ awk ‘{print $3}‘ mytxt

jiangxi

sichuan

3. 打印第一行和第三行

awk ‘{print $1,$3}‘ mytxt

$ awk ‘{print $1,$3}‘ mytxt

zilzhang jiangxi

zhagnsan sichuan

4. 加入头部信息

$ awk ‘BEGIN {print "name\thuji"} {print $1,$3}‘ mytxt

name huji

zilzhang jiangxi

zhagnsan sichuan

5. 加入尾部信息

$ awk ‘BEGIN {print "name\thuji\n"} {print $1,$3} END {print "\nended"}‘ mytxt

name huji

zilzhang jiangxi

zhagnsan sichuan

ended

6. 找到第三行等于”jiangxi“的记录

$ awk ‘{if($3=="jiangxi") print $0}‘ mytxt

zilzhang 19881110 jiangxi 18 film

awk使用正则表达式一定要用~ ,显示匹配正则表达式

7. 找到第三列含 an 的记录(有点grep an的意思)

$ awk ‘{if($3~/an/) print $0}‘ mytxt

zilzhang 19881110 jiangxi 18 film

zhagnsan 21321    sichuan 100 card

awk命令自带变量

8. 查看文件有多少行

$ awk ‘END {print NR}‘ mytxt

2

9. 查看文件并打印行号

$ awk ‘{print NR, $0}‘ mytxt

1 zilzhang 19881110 jiangxi 18 film

2 zhagnsan 21321    sichuan 100 card

10. 文件不为空且第三列含an

$ awk ‘{if (NR>0 && $3~/an/) print NR, $0}‘ mytxt

1 zilzhang 19881110 jiangxi 18 film

2 zhagnsan 21321    sichuan 100 card

11. 打印列数

$ awk ‘{print NF}‘ mytxt

5

5

12. 使用自定义变量

$ awk ‘{name=$1; if(name~/ang/) print $0}‘ mytxt

zilzhang 19881110 jiangxi 18 film

13.打印第10行,第15行

$ awk ‘{if (NR==10 || NR==15) print $0}‘ hive_single_table_load_handler.sh

TABLE_NAME=$1

result=$?

14. 变更列值

$ awk ‘{if($3=="jiangxi") $3="poyang";print $0}‘ mytxt

zilzhang 19881110 poyang 18 film

zhagnsan 21321    sichuan 100 card

15. 打印当前目录下文件大小总和

$ ls -lrt | awk ‘BEGIN {total=0} {total=total+$5} END {print total}‘

1364985

Linux awk 使用用例

时间: 2024-10-17 18:22:04

Linux awk 使用用例的相关文章

cmake的语法及使用用例

cmake是个跨平台编译工具,类似于autoconf.通过编译本地环境的makefile或者workplace来编译程序. 它的优点是简单高效. 语法: CMakeList.txt文件是由注释.命令和空白字符组成. 注释是由 # 开始,到行结尾. 命令是由:命令名(空格分隔的参数)组成. 例如:command (args-.) args是以空格分隔的参数例表(如果参数中包含空格,则要加双引号) 除了用于分隔参数的空白字符(空格.换行号.tabs)都是被忽略不计的.任何包含在双引号中的字符都做为一

[转]PROC简单使用用例--VC连接ORACLE

操作系统:windows 7 数据库版本:oracle 10g VS版本:VS2010 前言:连接ORACLE的方式有很多,此处仅以PROC为例,说明如何连接oracle,有不妥之处,望诸位看官指出,学习共进. 一.安装oracle 10g对应的客户端版本. 注意事项:做好客户配置,以本机为例:D:\oracle\product\10.2.0\client_2\NETWORK\ADMIN\tnsnames.ora文件为 # tnsnames.ora Network Configuration F

PROC简单使用用例--VC连接ORACLE

操作系统:windows 7 数据库版本:oracle 10g VS版本:VS2010 前言:连接ORACLE的方式有很多,此处仅以PROC为例,说明如何连接oracle,有不妥之处,望诸位看官指出,学习共进. 一.安装oracle 10g对应的客户端版本. 注意事项:做好客户配置,以本机为例:D:\oracle\product\10.2.0\client_2\NETWORK\ADMIN\tnsnames.ora文件为 # tnsnames.ora Network Configuration F

framework-core 使用用例

1.property文件加载 使用: 当你引用framework-core时,需要在加载spring配置文件classpath*:spring/applicationContext*.xml,可以在web.xml中这样配置 <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:spring/applicationContext*.xml

【spring mvc】framework-core 跨域 使用用例

1.引入jar文件 <dependency> <groupId>cn.bidlink.nbl</groupId> <artifactId>framework-core</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> 2.添加spring mvc interceptor配置到springmvc-config.xml文件 <mvc:in

泛型使用用例

将字符串list转换为numberList public static <T extends Number> List<T> stringToNumList(String str) { List<T> list = new ArrayList<T>(); if(StringUtils.isNotEmpty(str)) { String[] idArr = str.split(",", 0); for(String id : idArr)

【zbus】framework-zbus 使用用例

1.引入pom文件: <dependency> <groupId>cn.bidlink.nbl</groupId> <artifactId>framework-zbus</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> 2.引入spring文件: framework-zbus jar文件中classpath:spring/applicati

Redis 初级使用用例,简单有效

Redis 简介 Redis(REmote DIctionary Server) 是完全开源免费的使用ANSI C语言编写,遵守BSD协议,支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型,是一个高性能的key-value数据库. Redis与其他 key - value 缓

Linux文件系统的用例建模

1 用例 用例(Use Case)是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模. 1.1 参与者和用例 从用户的角度来看,他们并不想了解系统的内部结构和设计,他们所关心的是系统所能提供的服务,也就是被开发出来的系统将是如何被使用的,这就是用例方法的基本思想.用例模型主要由以下模型元素构成: 参与者(Actor)参与者是指存在于被定义系统外部并与该系统发生交互的人或其他系统,他们代表的是系统的使用者或使用环境. 用例(Use Case)用例用于表示系统所提供的服务,它定