linux命令 awk
awk的工作流程如下:
读入有 '\n' 换行符分割的一跳记录,然后将记录按指定的域分隔划分域,填充域,$0 表示所有域, $1 表示第一个域, $n 表示第n个域。默认域分隔符为“空白键”或者“[tab]键”。
例如:
hbg@root:/$ last -n 5
yyy pts/5 192.168.1.221 Mon Feb 29 16:07 still logged in
mmm pts/4 192.168.2.201 Mon Feb 29 14:22 still logged in
zzz pts/3 192.168.1.221 Mon Feb 29 14:00 still logged in
ttt pts/2 192.168.2.201 Mon Feb 29 13:39 still logged in
mmm pts/0 192.168.2.201 Mon Feb 29 13:38 still logged in
hbg@root:/$ last -n 5 | awk '{print $0}'
yyy pts/5 192.168.1.221 Mon Feb 29 16:07 still logged in
mmm pts/4 192.168.2.201 Mon Feb 29 14:22 still logged in
zzz pts/3 192.168.1.221 Mon Feb 29 14:00 still logged in
ttt pts/2 192.168.2.201 Mon Feb 29 13:39 still logged in
mmm pts/0 192.168.2.201 Mon Feb 29 13:38 still logged in
hbg@root:/$ last -n 5 | awk '{print $1}'
yyy
mmm
zzz
ttt
mmm
hbg@root:/$ last -n 5 | awk '{print $2}'
pts/5
pts/4
pts/3
pts/2
pts/0
-F 参数可以指定域分隔符“:”。
hbg@root:/$ cat etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
hbg@root:/$ cat etc/passwd | awk -F ':' '{print $1}'
root
daemon
bin
sys
sync
关键字 BEGIN 先执行BEGIN,然后读取文件读入有\n换行符分隔的一条记录,然后将记录按指定的域分隔符划分域,填充域。最后执行END。
awk中提供了 print 和 printf两种打印输出函数。
其中print函数的参数可以是变量、数值或者字符串。字符串必须使用双引号引用,参数用逗号分隔,如果没有逗号,参数就串联在一起而无法区分。这里逗号的作用与输出文件的分隔符的作用是一样的,只是后者是空格而已。
printf函数,其用法和 C语言中printf基本相似,可以格式化字符串,输出复杂时,printf更好用,代码更容易懂。
linux命令 awk的更多相关文章
- 【转】如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等
如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并 ...
- <转>如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等
原文链接:http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB) ...
- 转摘--如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等
http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或 ...
- 如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等(转)
你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作.数据专家们,我是在对你们说.你可能有一个4核或更多核的CPU,但我们合适的工具,例如 grep, ...
- linux命令-awk入门
最近经常查看nginx日志,有时候需要做一些统计分析,于是就想起了awk,学习了就顺便做一个记录. 目录 概述:简单介绍awk背景原理 基本用法:常用到的awk语法 内建变量 综合实例 概述 awk是 ...
- Linux命令awk
1.简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大. 简单来说awk就是把文件逐行读入,默认以空格为分隔符将每行切片,切开的部 ...
- [ Linux 命令 ] awk
一.AWK简介 awk:报告生成器,是以行为单位进行处理,并格式化后显示 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说a ...
- linux命令-awk,sort,uniq
学习地址:http://man.linuxde.net/awk#awk的工作原理 awk 选项参数说明: -F fs or --field-separator fs 指定输入文件折分隔符,fs是一个字 ...
- 每天一个linux命令--awk
统计计算日志 pmail@app2linux04 performance]$ grep 'user:logBehaviorAction' performance.log|awk -F '|' '{pr ...
- 如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等
http://blog.chinaunix.net/uid-20662820-id-4023733.html http://www.faqs.org/faqs/snmp-faq/part2/ http ...
随机推荐
- ios开发设置不同字体
最近项目开发中遇到需要设置指定字体的需求,研究了一下字体设置,最后附有我写的一个小demo,先来看一下效果: 开始上网搜了一下,普遍说到以下方法 for(NSString *fontfamilynam ...
- python 算法练习
根据给定的线性函数来确定函数的表达形式: examples: get_function([0,1,2,3,4]) => f(x)=x get_function([1,4,7,10,13]) =& ...
- 【安装】python3.4版安装与2.x共存问题
首先,到官网去下载python3.x版,这里推荐3.4以上的版本,自带pip库,以后不用自己另外下载 3.4.4版: https://www.python.org/downloads/release/ ...
- 【Time系列五】个性时钟与秒表升级版
从昨天到现在,一直在研究这个看起来超级简单的时钟.界面非常简洁大方. 虽然是简单,可是这个对齐的问题还是把我整得一塌糊涂.谁叫作者不解释清楚的. 参考:http://bbs.fishc.com/thr ...
- Unity3D脚本使用:Time
1.Time 使用方式 使用效果 2.yield 延迟执行 嵌套延迟
- 【Android】策略模式封装百度地图路线规划模块
百度地图的Demo里有个路线规划的功能,但是,这个功能和Activity耦合性太高,所以需要单独抽离出路径规划功能,进行"解耦". 注:由于项目原因,本文只针对驾车路线规划进行封装 ...
- kuangbin专题一 简单搜索
弱菜做了好久23333333........ 传送门: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=105278#overview A ...
- trove,测试,db小解析
# Copyright 2014 Tesora Inc.# All Rights Reserved.## Licensed under the Apache License, Version 2.0 ...
- Linux 下搭建jsp服务器(配置jsp开发环境)
Linux 做为服务器的高效一直时为人所熟知的了,在linux 上搭建各种各样的服务器和开发环境也时学计算机的人常做的.以下时最近在linux配置jsp服务器的全过程,包含一些基本步骤和排错过程: 1 ...
- ECOS-Ecstore证书生产失效问题排查
无法生成证书问题排查 无法生成证书问题排查 author :James,jimingsong@vip.qq.com since :2015-03-02 名称解释(官方) 常见错误 1. 名称解释(官方 ...