语法:

awk '{command}' filename  多个命令以分号分隔。

awk 'BEGIN {command1} {command2} END{command3}'  注意:BEGIN ,END 需要大写

常用变量说明:

FS : 指定分隔符,默认是空格和tab 。 也可以简写 -F ";"

NR: 目前处理的是【第几行】数据 ,文件中的行标

NF: 每一行的列数(段、栏位)

例子1:

# 以tab作为分隔符
# print $ 表示打印所有列, $ 表示打印第一列 ,不写默认打印所有列 # 打印所有列,用 -F 指定分隔符 ,$
awk -F "\t" '{print $0}' zss_test.txt
# 打印所有列,用 -F 指定分隔符
awk -F "\t" '{print }' zss_test.txt
# 打印所有列,用 FS 指定分隔符
awk 'FS=="\t"; {print $0}' zss_test.txt

打印结果1:

例子2:

##查看文件内容
cat -n zss_test.txt ##NR,NF使用
awk 'FS=="\t"; {print $1 "\t rows:"NR "\t columns:"NF}' zss_test.txt ##利用NF,打印最后一列
awk -F "\t" '{print $NF}' zss_test.txt

打印结果2:

例子3:

##删除指定目录下的所有文件 慎用

ls -l|awk '{print "rm -fr " $9}'|sh

例子4:

# 利用printf 格式化输出 %s 字符,%d 整数,%f 浮点 ;
# %10s 右对齐,长度10,实际长度大于设置长度,按实际长度
# %-10s 左对齐,其他同上 #打印文件内容
cat -n kimbo_test.txt #打印第二行之后的,列1,列4
awk -F"|" 'NR>=2{print $1,$4}' kimbo_test.txt
#打印第二行之后的,列1,列4 ,利用printf格式话输出 ,列1左对齐
awk -F"|" 'NR>=2{printf "%-30s\t%5.2f\n",$1,$4;}' kimbo_test.txt
#打印第二行之后的,列1,列4 ,利用printf格式话输出 ,列1右对齐
awk -F"|" 'NR>=2{printf "%30s\t%5.2f\n",$1,$4;}' kimbo_test.txt ##多个命令,可以分号分隔
## 打印第二行之后的,列1,列4 ,利用printf格式话输出 ,列1左对齐
awk -F"|" 'NR>=2{printf "%-30s\t",$1}; NR>=2{printf "%5d\n", $4}' kimbo_test.txt

打印结果4:

例子5:

##begin end 用法

#打印第二行之后的,列1,列4
awk -F"|" 'BEGIN {print "start-->"} NR>=2{print $1,$4} END{print "end"}' kimbo_test.txt

打印结果5:

shell awk命令的更多相关文章

  1. shell awk命令字符串拼接

    本节内容:awk命令实现字符串的拼接 输入文件的内容: TMALL_INVENTORY_30_GROUP my163149.cm6 3506 5683506 mysql-bin.000013 3273 ...

  2. Linux Shell脚本入门--awk命令详解

    简单使用: awk :对于文件中一行行的独处来执行操作 . awk -F :'{print $1,$4}'   :使用‘:’来分割这一行,把这一行的第一第四个域打印出来 . 详细介绍: AWK命令介绍 ...

  3. 【转】Awk 命令学习总结、AWk命令系列学习(linux shell)

    前面的话 学习linux 的同人,都知道linux shell文本处理能力非常强大.有一组强大的文本处理工具:grep,sed,awk . 其中grep 经常用作查找匹配文本.sed用作文本编辑替换. ...

  4. Awk 命令学习总结、AWk命令系列学习(linux shell)

    AWK基本语法 下面没有提到awk命令怎么使用了,你可以通过 运行:awk –h 查询到所有命令及参数!下面把awk作为一门语言分节介绍. linux awk 内置变量使用介绍   awk语言中,怎么 ...

  5. shell编程之awk命令详解

    shell编程之awk命令详解 a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; out ...

  6. shell基础 -- grep、sed、awk命令简介

    在 shell 编程中,常需要处理文本,这里介绍几个文本处理命令. 一.grep 命令 grep 命令由来已久,用 grep 命令来查找 文本十分方便.在 POSIX 系统上,grep 可以在两种正则 ...

  7. Shell学习(五)—— awk命令详解

    一.awk简介   awk是一个非常好用的数据处理工具,相对于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个[字段]处理,因此,awk相当适合处理小型的数据数据处理.awk是一种报 ...

  8. 【shell】awk命令

    简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...

  9. Shell学习:grep, sed, awk命令的练习题

    http://www.cnblogs.com/chengmo/archive/2013/01/17/2865479.html 文件:datafileSteve Blenheim:238-923-736 ...

随机推荐

  1. IE数组排序问题的处理

    有一哥们在微信开发中,到生成签名这抓狂了一天 最后发现微信调试工具在IE和chrome下对字符的排序竟然不同. 嗯,这个问题引起了我的关注,于是根据微信工具里的对象数组格式,撸了几句代码调试了一下,发 ...

  2. mysql 数据库表名大小写问题

    lower_case_table_names=1 原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:1.用root登录,修改 /usr/my.cnf: ...

  3. ubuntu jdk 1.7 安装

      1. 打开网址http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,下载相应的JD ...

  4. 四、H5 录制视频 Web Real-Time Communication

    Web Real-Time Communication HTML5实现视频直播功能思路详解_html5教程技巧_脚本之家 https://m.jb51.net/html5/587215.html

  5. QQ视频直播架构及原理 流畅与低延迟之间做平衡 音画如何做同步?

    QQ视频直播架构及原理 - tianyu的专栏 - CSDN博客 https://blog.csdn.net/wishfly/article/details/53035342 作者:王宇(腾讯音视频高 ...

  6. numpy.random.random & numpy.ndarray.astype & numpy.arange

    今天看到这样一句代码: xb = np.random.random((nb, d)).astype('float32') #创建一个二维随机数矩阵(nb行d列) xb[:, 0] += np.aran ...

  7. 阻塞IO 非阻塞IO 异步IO

    阻塞IO 一般表现为 进程/线程 调用IO操作后就一直死循环等待,直至IO操作结束,返回IO结果 非阻塞IO 一般表现为 进程/线程 调用IO操作后,可以先去干别的事情,但是每隔一段时间,回去询问一下 ...

  8. UML图箭头关系

    ML定义的关系主要有:泛化.实现.依赖.关联.聚合.组合,这六种关系紧密程度依次加强,分别看一下 泛化 概念:泛化是一种一般与特殊.一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进 ...

  9. 去除MyEclipse 中新建servlet多余的注释问题

    1.找到你的MyEclipse 的安装目录 2.点击文件位置,找到安装目录下的Common 文件夹下的plugins 3.找到com.genuitec.eclipse.wizards.jar  文件, ...

  10. LeetCode:二叉搜索树中第K小的数【230】

    LeetCode:二叉搜索树中第K小的数[230] 题目描述 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素. 说明:你可以假设 k 总是有效的,1 ≤ k ...