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命令形式: ...
随机推荐
- shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出
shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出 如: #/bin/sh local ret='sqlite3 test.db "select test ...
- 【PyQt5-Qt Designer】液晶显示屏(QLCDNumber)
液晶显示屏(QLCDNumber) 总体介绍 QLCDNumber小部件显示一个类似LCD的数字. 它可以显示任何大小的数字.它可以显示十进制,十六进制,八进制或二进制数字.使用display()槽连 ...
- 并查集——合作网络D306
合作网络D306 运行时间限制:1000ms: 运行空间限制:51200KB: 试题描述 有n个结点,初始时每个结点的父结点都不存在.你的任务是执行若干次Set操作和Query ...
- BeanFactoryPostProcessor vs BeanPostProcessor
BeanFactoryPostProcessors affect BeanDefinition objects because they are run right after your config ...
- w命令 查看系统负载
linux命令 w [root@localhost snmp]# w :: up :, user, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN ...
- kafka5 编写简单生产者
一 客户端 1.打开eclipse,新建maven项目(new-->other-->Maven Project-->Artifact Id设为mykafka). 2.配置Build ...
- axios post、get 请求参数和headers配置
axios.post("http://xxx.com/xxx/xxx/xxx?", { 'queslistid':this.kemuid }, { headers: {'token ...
- python的类变量和对象变量[转]
原文章:https://www.cnblogs.com/gtarcoder/p/5005897.html __dict__里存着{"属性名":属性值}. python是一种解释性的 ...
- Python第三弹--------文件和异常
文件读取: pi_digits.txt 3.1415926535 8979323846 2643383279 file_reader.py with open('pi_digits.txt') ...
- Py中reshape中的-1表示什么【转载】
转自:https://blog.csdn.net/weixin_39449570/article/details/78619196 1.新数组的shape属性应该要与原来数组的一致,即新数组元素数量与 ...