awk成长篇的几个例子
来源:互联网 发布:2016非农数据公布时间 编辑:程序博客网 时间:2024/05/20 09:06
实验环境:CentOS6.5自带的gawk
[root@localhost ~]# awk --version
GNU Awk 3.1.7
1.--re-interval支持匹配次数的扩展
[root@localhost ~]# echo 1234567 |awk '/[0-9]{3,}/'
[root@localhost ~]#
[root@localhost ~]# echo 1234567 |awk --re-interval '/[0-9]{3,}/'
1234567
2.有两个文件a.txt和b.txt,现在需求输出两个文件共有的行
[root@localhost ~]# cat a.txt
ab
123
cde
[root@localhost ~]#cat b.txt
ab
1234
cdefg
[root@localhost ~]# awk 'ARGIND==1{a[$0]}ARGIND==2&&($0 in a){print $0}' a.txt b.txt
ab
也可以是用下面这个:
[root@localhost ~]# awk 'NR==FNR{a[$0]}NR!=FNR&&($0 in a){print $0}' a.txt b.txt
ab
但是当ab在某个文件有两行的情况下,会有什么不同呢?
[root@localhost ~]# echo ab >>a.txt
[root@localhost ~]# awk 'NR==FNR{a[$0]}NR!=FNR&&($0 in a){print $0}' a.txt b.txt
ab
好像没啥事?不过你也可能想要这种情况,把这两个文件的顺序换一下
[root@localhost ~]# awk 'NR==FNR{a[$0]}NR!=FNR&&($0 in a){print $0}' b.txt a.txt
ab
ab
3.通过substr进行小数四舍五入
substr简介substr(r,s,t) 返回字符串r中从第s位开始,长度为t的部分
[root@localhost ~]# echo 4.4 | awk -F. 'substr($2,0,1)>=5?a=$1+1:a=$1{print a}'
4
[root@localhost ~]# echo 4.5 | awk -F. 'substr($2,0,1)>=5?a=$1+1:a=$1{print a}'
5
- awk成长篇的几个例子
- awk的3个例子(成长篇)
- awk的小例子
- awk学习--例子篇
- IT_linux_shell_awk_sed_100篇--awk--例子
- 几个awk的使用实例
- awk数据处理的几个函数
- 几个实用的awk程序
- awk程序设计的一个例子
- 程序员的几个成长阶段
- OracleHelper的几个例子.
- Papervision3D的几个例子
- set_union的几个例子
- QFont的几个例子
- set_union的几个例子
- set_union的几个例子
- python的几个例子
- set_union的几个例子
- windows下 jsoncpp的编译和使用
- 你是普通程序员、文艺程序员还是2B程序员?
- openvswitch有port和bridge
- poj 1080 Human Gene Functions DP
- AP_INVOICES_ALL应付发票表详解
- awk成长篇的几个例子
- js飘窗效果
- Localizable.strings:0: error: read failed: The data couldn’t be read because it isn’t in the correct
- EJB技术的数据库应用
- HDU 4635 Strong connected | tarjan算法
- Java删除文件夹和文件
- idea的java反编译插件
- 培训经理们,你被哪些培训坑惨过?
- 模拟之双队列HDU4884