awk -F,FS,OFS,$NF 的使用
来源:互联网 发布:bytebuffer.js 下载 编辑:程序博客网 时间:2024/06/03 02:14
本文是在网上看到,觉得挺有意思,特地拿下来写个自己的理解,方便初学者理解,虽然没啥用,不过重点在思路。
NF 为最后一个字段的字段数。
下面几个例子的作用都一样 都是得到这样一个输出结果,即去掉后缀 .tar.Z
源字符串:AIX.PI6002.090316.tar.Z
结果字符串:AIX PI6002 090316
单独解释:以“.”为分隔符,把最后1个字段 和倒数第2个字段 赋值为空, 再输出整个字段
echo AIX.PI6002.090316.tar.Z | awk -F "." '{$NF="";$(NF-1)=""}{print $0}'
单独解释:以“.”为分隔符,输出前三个字段
echo "xxx.xxxx.xxxx.tar.bz" | awk -F. '{print $1"."$2"."$3}'
单独解释:以“.”为分隔符,把NF的值减去2,即5-2=3
echo AIX.PI6002.090316.tar.Z | awk -F . 'NF-=2'
单独解释:以“.”为分隔符,把NF赋值为NF-2
echo AIX.PI6002.090316.tar.Z | awk 'NF=NF-2' FS=.
单独解释:以“.”为分隔符,把NF的值减去2,输出的分隔符为" "
echo AIX.PI6002.090316.tar.Z | awk 'NF-=2' FS=. OFS=" "
下面输出结果为:AIX.PI6002.090316
单独解释:以“.”为分隔符,把NF的值减去2,同时把分隔符通过sed替换 空格 " " 为 "."
echo "AIX.PI6002.090316.tar.bz" | awk -F . 'NF-=2' | sed 's/ /./g'
单独解释:以“.”为分隔符,通过for循环输出NF-2之前的字段,利用 printf 的结果输出没有换行符,通过print输出第NF-2个字段,print输出结果有换行符,如此拼出结果。
echo AIX.PI6002.090316.tar.Z | awk -F "." '{for (i=1;i<NF-2;i++) printf $i".";print $(NF-2)}'
单独解释:一整个字段为字符串,然后从第一个字符开始,到第三个字段的最后个字符。(match会返回一个数值)
echo AIX.PI6002.090316.tar.Z | awk '{print substr($0,1,match($0,/\.[^\.]+\.[^\.]+$/)-1)}'
- awk -F,FS,OFS,$NF 的使用
- 关于awk中NR、FNR、NF、$NF、FS、OFS的说明
- awk 内置变量FS, OFS, RS, ORS, NR, NF
- awk 中的FS,OFS,ORS的差别
- awk内置变量之FNR/NR、FS/OFS、NF、ORS/RS
- AWK 内建变量FS,NF,NR,FNR,RT,RS,ORS,OFS
- Linux中awk后面的RS, ORS, FS, OFS 含义
- awk命令RS FS ORS OFS的区别
- awk -F "" '{print $NF}'
- awk之RS、ORS与FS、OFS
- awk之RS、ORS与FS、OFS
- awk 中使用 OFS.
- awk的内置变量NF,NR,FS,FILENAME
- awk中RS、ORS、FS、OFS的区别和联系小结
- awk中RS,ORS,FS,OFS区别与联系
- 学习awk中RS,ORS,FS,OFS区别与联系
- awk中RS,ORS,FS,OFS区别与联系
- linux awk 中 RS,ORS,FS,OFS 区别与联系
- Hadoop平台搭建使用系列教程(6)- JDK的安装
- SQL Select语句完整的执行顺序:
- C#实现简单计算器功能
- oracle over函数详解
- Android读写文件
- awk -F,FS,OFS,$NF 的使用
- Mysql优化配置
- Direct2D 编程入门
- Yii1 生成 URL 的总结
- HDU1242:Rescue(BFS+优先队列)
- 使用phpmyadmin管理多台MySQL服务器的方法
- http://blog.csdn.net/imxiangzi/article/details/7558660
- Linux内核相关常见面试题
- 二叉树中和为某一值的路径