awk常用选项举例

简介:

1.awk 的语法

     awk [选项] ' print $1' 文件名 

选项

    -F  指定分隔符

比如:

awk -F: '{ print $1 }' /etc/passwd


$NF  最后一列

NR  行数       //注意没有$

       

2.awk举例

1、提取出/etc/passwd 文件当中,UID小于1000的用户名信息和UID信息

[root@server0 ~]# awk -F : ' $3<1000  {print $1,$3}' /etc/passwd


2、提取出/etc/passwd文件当中,shell环境为”/bin/bash”的用户信息有shell信息

[root@server0 ~]# awk -F : ' $NF== "/bin/bash"  {print $1,$NF}' /etc/passwd


3、提取出/etc/passwd文件当中,第一行到第5行的用户名相关信息

[root@server0 ~]# awk -F : ' (NR>=1&&NR<=5) {print $1}' /etc/passwd


4、打印/et/passwd奇数行

[root@server0 ~]# awk -F : '{if (NR%2!=0) print $0}' /etc/passwd


5、 打印UID不等于GID的用户名

[root@server0 ~]# awk -F : '{if ($3!=$4) print $1}' /etc/passwd


6、awk提取ip地址

[root@server0 ~]# ip addr | grep 'scope global' | awk '{print $2}'| awk -F '/' '{print $1}'

172.25.0.11


7.awk提取登录用户ip地址

[root@fengxiaoli41 ~]# who |tail -1|awk -F"[ ()]+" '{print$5}'

192.168.10.1


注:cut 也可以用提取,这是cut只有分隔比较标准的情况下使用; 

-c

        -d  自定义分隔符

        -f  指定哪个区域 

[root@server0 ~]# cat /etc/passwd | head -2 | cut -d : -f 1


本文转自 fxl风 51CTO博客,原文链接:http://blog.51cto.com/fengxiaoli/1950919



相关文章
|
1月前
|
Unix Shell Linux
如何使用 Awk 打印文件中的字段和列
如何使用 Awk 打印文件中的字段和列
24 0
|
2月前
|
Perl
在Awk中,直接通过文件作为输入
在Awk中,直接通过文件作为输入
28 2
|
3月前
|
Linux Perl
【linux】awk用法:在每行新增额外字符串
【linux】awk用法:在每行新增额外字符串
30 0
|
Shell 开发工具 Perl
Shell中的文本处理工具、cut [选项参数] filename 说明:默认分隔符是制表符、awk [选项参数] ‘/pattern1/{action1}filename 、awk 的内置变量
Shell中的文本处理工具、cut [选项参数] filename 说明:默认分隔符是制表符、awk [选项参数] ‘/pattern1/{action1}filename 、awk 的内置变量
Shell中的文本处理工具、cut [选项参数] filename 说明:默认分隔符是制表符、awk [选项参数] ‘/pattern1/{action1}filename 、awk 的内置变量
如何使用Grep命令查找多个字符串
如何使用Grep命令查找多个字符串
521 0