awk

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk相关的知识,希望对你有一定的参考价值。

awk:一门语言,过滤内容(取列),打印,删除

awk ‘{print $1}‘ 文件

例如,文件如下:

[[email protected] ~]# cat awk.txt

wuyike wuyikekeke

ddd fff

eded


显示文件的第一列:

[[email protected] ~]# awk ‘{print $1}‘ awk.txt

wuyike

ddd

eded


显示文件的第二列

[[email protected] ~]# awk ‘{print $2}‘ awk.txt

wuyikekeke

fff


显示两列:

[[email protected] ~]# awk ‘{print $1 $2}‘ awk.txt

wuyikewuyikekeke

dddfff

eded


显示两列并加分隔符:

[[email protected] ~]# awk ‘{print $1" "$2" "}‘ awk.txt

wuyike wuyikekeke 

ddd fff 

eded 


[[email protected] ~]# less /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync


显示以冒号为分隔符的第一列:

[[email protected] ~]# awk -F ":" ‘{print $1}‘ /etc/passwd

root

bin

daemon

adm

lp

sync


显示以分号为分隔符的最后一列:(NF是指最后一列)

[[email protected] ~]# awk -F "/" ‘{print $NF}‘ /etc/passwd

bash

nologin

nologin

nologin

nologin

sync

shutdown

halt


注:Linux里面严格区分大小写


NR代表行号

[[email protected] ~]# awk ‘{if(NR<31 && NR>19) print $1"\n"}‘ test.txt

20


21


22


23


24


25


26


27


28


29


30






以上是关于awk的主要内容,如果未能解决你的问题,请参考以下文章

AWK

AWK用法详解

linux awk

Linux-AWK

新awk整理

awk编程