awk的内置变量

NR 表示行

NF 表示段

显示第十行

[root@wangshaojun ~]# awk -F ':' 'NR==10' 1.txt
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

显示小于第三行

[root@wangshaojun ~]# awk -F ':' 'NR<3' 1.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

显示小于第三行 显示第1 3 4 段

[root@wangshaojun ~]# awk -F ':' 'NR<3 {print $1,$3,$4}' 1.txt

[root@wangshaojun ~]# awk -F ':' '{if(NR<3) print $1,$3,$4}' 1.txt

root 0 0
bin 1 1

显示小于第三行 显示第1 3 4 段并添加分隔符

[root@wangshaojun ~]# awk -F ':' 'OFS=":" {if(NR<3) print $1,$3,$4}' 1.txt
root:0:0
bin:1:1

//////////////////////////////////////////////////////////////////////////////////////////////////

直接打印NF

[root@wangshaojun ~]# awk -F ':' '{print NF}' 1.txt
7
7
7

....

段数等于7的行 打印第一段

[root@wangshaojun ~]# awk -F ':' 'NF==7 {print $1 }' 1.txt
root
bin
daemon
adm

....

如果段数等于7,打印第一段

[root@wangshaojun ~]# awk -F ':' '{if (NF==7) print $1}' 1.txt
root
bin
daemon
adm

.....

数学运算

$7显示第三段的数字加上第四段的和

[root@wangshaojun ~]# awk -F ':' '$7=$3+$4' 1.txt
bin x 1 1 bin /bin 2
daemon x 2 2 daemon /sbin 4
adm x 3 4 adm /var/adm 7
lp x 4 7 lp /var/spool/lpd 11

.....

$7显示第三段的数字加上第四段的和并显示第三段第四段第七段

[root@wangshaojun ~]# awk -F ':' '$7=$3+$4 {print $3,$4,$7}' 1.txt
1 1 2
2 2 4
3 4 7
4 7 11
5 0 5

.......

$7显示第三段的数字加上第四段的和并显示第三段第四段第七段,显示分隔符

[root@wangshaojun ~]# awk -F ':' 'OFS=":" {$7=$3+$4; print $3,$4,$7}' 1.txt
0:0:0
1:1:2
2:2:4
3:4:7

.....

求所有第三段的数字的和

[root@wangshaojun ~]# awk -F ':' '{(sum=sum+$3)}; END {print sum}' 1.txt
3785

////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////

总结:OFS分隔符   NF表示段    NR表示行

shell入门-awk-3的更多相关文章

  1. Linux shell入门基础(六)

    六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...

  2. AWK增强的文本处理shell特征--AWK完全手册

    AWK这是一个很好的文字处理工具. 它不仅 Linux 中也是不论什么环境中现有的功能最强大的数据处理引擎之中的一个. 本文主要摘录池中龙写的Unixawk使用手冊(第二版),对当中内容略微修改.感谢 ...

  3. Shell入门02

    Shell入门-02 1.重定向 标准输入(<) 标准输出 标准错误重回定向 程序 = 指令 + 数据 命令   变量 在程序中,数据如何输入?又如何输出? 数据输入:键盘 – 标准输入,但是并 ...

  4. Shell入门01

    Shell入门 1.基于硬件的虚拟化 2.基于平台的虚拟化 3.基于服务的虚拟化 4.基于库的虚拟化 5.基于操作系统的虚拟化 管理员使用Shell程序与操作系统进行交互,之前学习的shell脚本都是 ...

  5. Linux shell入门基础(一)

    Linux shell入门基础(一): 01.增加删除用户: #useradd byf   userdel byf(主目录未删除)  userdel -r byf   该用户的属性:usermod 用 ...

  6. CU社区shell板块awk十三问整理

    CU社区shell板块awk十三问整理 一.RS="" 当 RS="" 时,会将\n强制加入到FS变量中,因为RS为空时,是将连续多空行作为分隔符,近似于\n\ ...

  7. Shell - 简明Shell入门

    本文以示例和注释的方式,对Shell编程的基本知识点进行了总结和回顾,所有脚本均已做了基本的调试和验证. Shell - 简明Shell入门 01 - 第一个脚本 脚本的定义.执行方法以及echo命令 ...

  8. linux shell 入门

    本文是本人学习linux shell入门收集整理,不完全原创. 参考博文: http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html ...

  9. Shell 学习—AWK介绍

    Shell 学习—AWK = = = 安装awk root@kiki-desktop:~/shell# apt-get install gawk gawk-doc = = = awk 是一种程序语言. ...

  10. shell 入门学习

    目录 shell 入门学习 注释 执行与启动 变量 语法 调试 title: shell 入门学习 date: 2019/7/16 15:47:49 toc: true --- shell 入门学习 ...

随机推荐

  1. python基础14 ---函数模块5(模块和包)

    模块与包 一.模块 1.模块是怎么诞生的. 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到 不同的文 ...

  2. 国内ADSL用户的带宽一般都是1M、2M、3M的,理论上的下载速度分别是128K/S、256K/S、384K/S。

    国内ADSL用户的带宽一般都是1M.2M.3M的,理论上的下载速度分别是128K/S.256K/S.384K/S. 1024/8===128      2048/8==256

  3. Linux查看端口占用进程

    Linux查看端口占用进程 netstat -anlp|grep 8081 tcp /java 此处3195为进程ID

  4. 普通java类加入spring容器的四种方式

    今天在自己开发的工具类中使用了spring注入的方式调用了其他类,但是发生的报错,在整理了后今天小结一下. 首先简单介绍下spring容器,spring容器是整个spring框架的核心,通常我们说的s ...

  5. python第七篇:Python 列表操作详解

    Python列表操作详解 list函数 list()   #生成一个空的列表 list(iterable)  #用可迭代对象初始化一个列表 列表的 and 运算和 or 运算 列表and运算 > ...

  6. CSS3特殊图形制作

    CSS3特殊图形制作 现在IE8+的浏览器都支持CSS3+HTML5了,IE8及以下的浏览器的浏览器也快告一段落了,大前端的时代来了.废话不多说,现在开始用CSS3画图 1.心型 //HTML < ...

  7. java.sql.SQLException: Column count doesn't match value count at row 1 Query: insert into category values(null,?,?,?) Parameters: [1111111, 1111, 软件]

    java.sql.SQLException 问题: java.sql.SQLException: Column count doesn't match value count at row 1 Que ...

  8. 分享知识-快乐自己:PageHelper 分页关键基础代码

    关键代码:点我下载样式   详细介绍 //使用分页插件 jQuery("#pagination").pagination(data.total, { items_per_page: ...

  9. 洛谷p3369 treap

    这是一个treap裸题,还可以用splay,替罪羊树,线段树等等写 treap是树和堆结合,可以方便的在O(log(n))期望时间内进行以下操作,因此treap又叫做名次树 插入x数 删除x数(若有多 ...

  10. Java之泛型浅解

    我觉得学习一个东西,首先得从概念上明白它大概是什么? “泛型”就是“参数化类型”,也就是是把类型当成了一种参数.之前我们看到得函数方法比如: public long add(int num1,int ...