AWK

awk [-F|-f|-v] 'BEGIN{} //{command1; command2} END{}' file

[-F|-f|-v] 大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value
’ ’ 引用代码块
BEGIN 初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符,没有可以不写
// 匹配代码块,可以是字符串或正则表达式
{} 命令代码块,包含一条或多条命令
以上两个应该成对出写。可以表示多个匹配和分别的处理过程。
; 多条命令使用分号分隔
END 结尾代码块,在对每一行进行处理之后再执行的代码块,主要是进行最终计算或输出结尾摘要信息。没有可以不写。

也可以像下面这样,直接

awk -f script.awk  file

一些例子

awk '{print " "}' /etc/passwd ##不输出/etc/passwd,而是输出相同行数的空行

下面的命令常用于kill调指定进程

#!/bin/bash
content=$1
ps -ef | grep ${content} | grep -v grep | awk '{print $2}' | xargs kill -9

下面是一个指定分隔符的例子

awk -F":" '{ print "username: " $1 "\t\tuid:" $3" }' /etc/passwd

多个条件匹配和处理的例子

awk -F ':' '/oo/ {print $1,$4} /user1/ {print $1,$6}' test.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值