awk命令学习(1)
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
使用方法
例子
一般用法
#echo ‘this is war’ > Desktop/1.txt
#awk '{print $1 $2 $3}' Desktop/1.txt 结果:
thisiswar
-F(默认空格)
awk -F 'is' '{print $1 $2 $3}' Desktop/1.txt
结果:
th war
OFS用法:($1~is 匹配含is的段落)
echo ‘this is war’|awk -F ':' '$1~is {OFS="#";print $1,$2}'
结果:
this is war#
($1=="is" 匹配is)
echo 'is'|awk -F ':' '$0=="is" {OFS="#";print $1,$2}'
结果:
is#
‘||’表示或 NR表示行号
awk -F ':' '$0~/home/ || NR>270 {OFS="#";print $1,$2}' 'Desktop/1.txt'
匹配/home/或大于行号270的段落
结果:
/home/jjj/.local/share/gvfs-metadata/root#
/home/jjj/.local/share/gvfs-metadata/root-2c6b185d.log#
/var/lib/dpkg/info/fakeroot.postrm#
/var/lib/dpkg/info/fakeroot.prerm#
/var/lib/dpkg/info/libfakeroot#amd64.conffiles
/var/lib/dpkg/info/libfakeroot#amd64.list
/var/lib/dpkg/info/libfakeroot#amd64.md5sums
/var/log/fsck/checkroot#
‘&&’表示并且
awk -F ':' '$0~/home/ && NR<10 {OFS="#";print $1,$2}' 'Desktop/1.txt'
不仅要包含/home/而且行号要小于10
结果:
/home/jjj/.local/share/gvfs-metadata/root#
/home/jjj/.local/share/gvfs-metadata/root-2c6b185d.log#
运算 例:$1=$2+$3
#cat Desktop/1.txt
1 2 3
4 5 6
7 8 9 #awk '$1=$2+$3 {print}' 'Desktop/1.txt' (加)
5 2 3
11 5 6
17 8 9 #awk '$1=$2*$3 {print}' 'Desktop/1.txt' (乘)
6 2 3
30 5 6
72 8 9 #awk '$1=$2/$3 {print}' 'Desktop/1.txt' (除)
0.666667 2 3
0.833333 5 6
0.888889 8 9
awk命令学习(1)的更多相关文章
- 【转】Awk 命令学习总结、AWk命令系列学习(linux shell)
前面的话 学习linux 的同人,都知道linux shell文本处理能力非常强大.有一组强大的文本处理工具:grep,sed,awk . 其中grep 经常用作查找匹配文本.sed用作文本编辑替换. ...
- AWK命令学习
使用方法 awk 'pattern {action}' {filenames} 尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到 ...
- linux awk命令学习
. awk的运行过程 ) awk_script的组成: ① awk_script可以由一条或多条awk_cmd组成,两条awk_cmd之间一般以NEWLINE分隔 ② awk_cmd由两部分组成: a ...
- Awk 命令学习总结、AWk命令系列学习(linux shell)
AWK基本语法 下面没有提到awk命令怎么使用了,你可以通过 运行:awk –h 查询到所有命令及参数!下面把awk作为一门语言分节介绍. linux awk 内置变量使用介绍 awk语言中,怎么 ...
- linux中awk命令学习
awk是一个强大的文本分析工具,awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. 通常获取某一行时,我们会使用 “grep 关键字“进行查找,但在读取某一列时, ...
- 【linux系统】命令学习(六)awk sed grep 与管道的使用
程序运行环境输入与输出 标准输入0 read a;echo $a 标准输出1 echo cesh 错误输出 ls notr 管道重定向 管道与管道之间可以重定向 管道与文件之间可以重定向 用于写入 将 ...
- Linux学习awk命令
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...
- Linux学习之awk命令
一. AWK 说明 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能 ...
- 学习awk命令的使用
作者:邓聪聪 awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: ...
随机推荐
- SoftPixelEngin
目的,拓展知识. 1.CMake夸平台构建; 2.RederSystem; 3.Shaderlibrary: http://blog.csdn.net/ym19860303/article/detai ...
- winform创建快捷方式
/// <summary> /// 创建快捷方式 /// </summary> public class Lnk { /// <summary> /// 创建快捷方 ...
- 不能往Windows Server 2008 R2 Server中复制文件的解决方法
目前一直直接往Windows 2008 R2 Server中复制文件(暂时还没有搭建ftp服务),突然不能复制了,于是百度找到了解决方法,特此记录(记忆). 1.在任务管理器中找到“rdpclip.e ...
- Jenkins打包安卓时提示没同意constraintLayout的license的解决方法
使用Jenkins打包安卓项目时,报错并失败,错误信息: You have not accepted the license agreements of the following SDK compo ...
- 微信小程序分享支持自定义封面图
微信小程序又发布更新了,刚好昨天支付宝也发布小程序,不能让它抢了风头的节奏.微信小程序主要更新如下:“小程序分享支持自定义封面图,公众号及小程序客服可发送小程序卡片.同时,我们还开放了获取发票抬头,指 ...
- 张小龙2018PRO版微信公开课演讲全文 透露2018微信全新计划
大家好!我是张小龙.欢迎大家来到微信公开课. 刚刚出现的是我打游戏的画面,被大家看到了,那个不是我最好的水平,因为有点紧张,我最高分曾打到6000多分.当然我是练习了很久了,并不是我比大家更厉害,而是 ...
- servlet中生成验证码
在servlet中生成验证码 package login; import java.awt.Color; import java.awt.Graphics; import java.awt.image ...
- AutoML初创公司探智立方:模型的物竞天择与适者生存
从回归分析的出现到深度学习的蓬勃发展,这条算法的进化路线与其说是「机器替代人」,不如说是「机器帮助人类完毕我们不擅长的事」. 这份「不擅长」列表里有「不擅长从大量数据中寻找规律」.「不擅长同一时候完毕 ...
- 006-docker-安装-nginx
1.搜索镜像 docker search nginx 2.拉取合适镜像 docker pull nginx docker images 3.使用镜像 docker run -p 8080:80 --n ...
- oracle sql 游标的简单用法(tip:sql中两个单引号表示一个单引号)
--游标遍历某个字段 (打印出来) declare res_sql varchar2(2000); cursor cur is select f_dcnam ...