语法:

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. php accumulation rockmongo

    php -r 'echo substr(sprintf("%o",fileperms("./")),-4);'

  2. WebService 入门

    1. 远程调用技术 2. WebService 概述 WebService 是使用 Http 发送 SOAP 协议数据的一种远程调用技术; WebService 需要开发客户端; WebService ...

  3. Java 之包

    作用: 对类文件进行分类管理, 类似于文件夹 给类提供多层命名(名称)空间 写在程序的第一行, 包名使用小写 类名的全称是: 包名.类名 包也是一种封装形式 // 示例 package mypack; ...

  4. 转!!Java虚拟机堆的内存分配和回收

    Java内存分配和回收,主要就是指java堆的内存分配和回收.java堆一般分为2个大的区域,一块是新生代,一块是老年代.在新生代中又划分了3块区域,一块eden区域,两块surviver区域.一般称 ...

  5. 【Linux command reference】

    ubuntu16.04安装中文输入法: https://blog.csdn.net/singleyellow/article/details/77448246 ubuntu16.04 用vi编辑代码, ...

  6. LAMP兄弟连 视频教程集

    电驴的资源:http://www.verycd.com/topics/2843130/?ref=msg

  7. mysq查询语句包含中文以及中文乱码,字符集 GBK、GB2312、UTF8的区别

    一.查看mysql 字符集设置情况 使用Navicat for Mysql查看工具,打开命令列界面,输入show variables like '%char%';如下图,查看当前mysql字符集设置情 ...

  8. DBCC SHRINKFILE收缩日志/收缩数据库/收缩文件

    DBCC SHRINKFILE 收缩相关数据库的指定数据文件或日志文件大小. 语法 DBCC SHRINKFILE    ( { file_name | file_id }        { [ ,t ...

  9. mysql密码忘记该怎么办?

    环境:linux;mysql5.7 mysql密码忘记: [root@izwz9f40l0qo5cpnn8qwmpz ~]# mysql -u root -pEnter password: ERROR ...

  10. Git学习笔记-完全版

    注意本文参考廖雪博客: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 一:Git ...