awk - 快闪

栏目: 服务器 · 发布时间: 7年前

内容简介:awk - 快闪

内建变量

  • NR:已输入记录的条数。 (行数量)
  • FNR: 当前记录数,与NR不同的是,这个值会是各个文件自己的行号。
  • NF:当前记录中域的个数。记录中最后一个域可以以$NF的方式引用。 (每一行记录个数)
  • FILENAME:当前输入文件的文件名。
  • FS:“域分隔符”,用于将输入记录分割成域。其默认值为“空白字符”,即空格和制表符。FS可以替换为其它字符,从而改变域分隔符。
  • RS:当前的“记录分隔符”。默认状态下,输入的每行都被作为一个记录,因此默认记录分隔符是换行符。
  • OFS:“输出域分隔符”,即分隔print命令的参数的符号。其默认值为空格。
  • ORS:“输出记录分隔符”,即每个print命令之间的符号。其默认值为换行符。
  • OFMT:“输出数字格式”(Format for numeric output),其默认值为"%.6g"。

格式化输出

awk '{ printf "%+8s\n", $1 }' test.log
或
awk '$5 ~ /S|D/ { print $5 }' test.txt
取反
awk '$5 !~ /S/ { print $5 }' test.txt

awk '/S/ { print $5 }' test.txt
awk '!/S/ { print $5 }' test.txt

过滤记录

awk '$3 == 0' test.log
awk '$2 > 3 || $5 == "DGRAM" { printf "%2s %s\n", NR, $6 }' test.txt

指定分割符

awk 'BEGIN { fS=":" } { print $1 }' test.log
awk -F: '{ print $1 }' test.log
以上两种方式等价

指定多个分隔符
awk -F '[;:]'

指定输出分隔符
awk  -F: '{print $1,$3,$6}' OFS="\t" /etc/passwd

字符串匹配

awk '$5 ~ /S/ { print $5 }' test.txt

awk脚本

#!/usr/bin/awk -f
# -f参数告诉awk将该文件作为awk的程序文件,然后即可运行该程序。

# awk函数
function plus(a, b) {
    return a + b
}

BEGIN {
    # 函数调用
    print plus(1, 2)
}

0

CC BY-SA 3.0


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

OKR工作法

OKR工作法

克里斯蒂娜•沃特克 (Christina Wodtke) / 明道团队 / 中信出版社 / 2017-9-1 / CNY 42.00

《OKR工作法》讲述了一种风靡硅谷科技企业的全新工作模式。 如何激励不同的团队一起工作,全力以赴去实现一个有挑战性的目标? 硅谷的两个年轻人汉娜和杰克,像很多人一样,在萌生了一个创意后,就走上创业之路。但是,很快他们发现好的想法远远不够,必须还有一套适合的管理方法确保梦想能实现。为了让创业团队生存下来,汉娜和杰克遭受了内心的苦苦挣扎和煎熬。他们患上“新奇事物综合症”,什么都想做,导致无......一起来看看 《OKR工作法》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具