Shell文本处理工具--awk

awk

用法:

awk  -F  分隔符  BEGIN{}{}END{}  FILENAME           默认以空格为分隔符

在这里插入图片描述
BEGIN和END可以忽略不写。

NR              #显示行数
在这里插入图片描述
NF              #列数
在这里插入图片描述
以冒号为分隔符,每一行的列数。
在这里插入图片描述
以bash结尾的行的列数。
在这里插入图片描述
打印出以bash结尾的行。

FILENAME          #遇到符合条件的行就打印一次文件名称本身
在这里插入图片描述
westos            #westos变量值
“westos”            #westos字符串
在这里插入图片描述

/bash$/            条件,表示以bash结尾的

在这里插入图片描述

/条件1|条件2/         条件1或者条件2

在这里插入图片描述

/条件1/||/条件2/        条件1或者条件2

在这里插入图片描述
/条件1/&&/条件2/        #条件1并且条件2
$0              #所有的列
$1              #第一列
$2              #第二列
$3               #第三列
$1,$7            #第一列和第七列
在这里插入图片描述
例:找出 /etc/passwd 文件中的第六列没有home关键字并且以bash结尾的行,显示第一列。
awk -F : ‘KaTeX parse error: Expected 'EOF', got '&' at position 10: 6!~/home/&̲&/bash/{print}’ /etc/passwd
在这里插入图片描述
$7~/bash/             #第七列是的行
在这里插入图片描述
$7!~/bash/             #第七列不是bash的
在这里插入图片描述

注意:

在 使用awk 时尽量使用单引号,因为在awk中单引号才能使用变量功能。
在这里插入图片描述

发布了36 篇原创文章 · 获赞 13 · 访问量 1446

猜你喜欢

转载自blog.csdn.net/thermal_life/article/details/105158244