语法:

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. 淘宝订单数据转CSV

    <html> <body> <div id="result"> </div> <div> <textarea st ...

  2. python系列十六:Python3 面向对象

    #!/usr/bin/python #-*-coding:gbk-*- #Python3 面向对象 '''面向对象技术简介    类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了 ...

  3. 关于jQuery中nth-child和nth-of-type的详解

    首先贴出来HTML的代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  4. java 子类不能继承父类的static方法

    先来看一段代码 /** * Created by bjchengpeng on 2018/7/19. */ /**运行结果 * woof * woofaa * * woof * Basenjiaa * ...

  5. DRF(3) - 序列化组件(GET/PUT/DELETE接口设计)、视图优化组件

    一.序列化组件 基于上篇随笔的表结构,通过序列化组件的ModelSerializer设计如下三个接口: GET 127.0.0.1:8000/books/{id} # 获取一条数据,返回值:{} PU ...

  6. 0408-服务注册与发现-Eureka常用配置

    一.概述 参看地址:https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_appendix ...

  7. Redis二(Hash操作)

    Hash操作 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value) 1 2 3 4 5 6 7 8 9 # name对应的hash中设置一个键值对 ...

  8. Generating Gaussian Random Numbers(转)

    Generating Gaussian Random Numbers http://www.taygeta.com/random/gaussian.html This note is about th ...

  9. Java泛型四:Java泛型总结

    原文地址https://www.cnblogs.com/lwbqqyumidi/p/3837629.html 一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 publ ...

  10. python sqlite

    1.导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~ import sqlite3 2. 创建/打开数据库 ...