awk命令:
一个强大的文本分析工具,把文件逐行读入,以空格为默认分隔符将每一行切片,切开的部分在进行分析处理
awk [选项参数] 'pattern1{action1} pattern2{action2}....' filename
parrern :表示AWK在数据中查找的内容,就是匹配模式
action :在找到匹配内容时所执行的一系列命令
选项参数:
-F :指定输入文件拆分隔符
-v :赋值一个用户定义的变量
案例:
0、数据准备:
cp /etc/passwd .
注意:只有匹配了pattern才会执行action
1、搜索passwd文件以root关键字开头的所有行,并输出该行的第7列。
awk -F : '/^root/{print $7}' passwd
2、搜索passwd文件以root关键字开头的所有行,并输出改行的第1列和第7列,中间用逗号分隔
awk -F : '/^root/{print $1,$7}' passwd
3、只显示/etc/passwd的第一列和第七列,以逗号分割,并且在所有行前面(相当于输出的第一行)添加列名user,shell 在最后一行添加"laozhao,/bin/shuaige
awk -F : 'BEGIN{print "user,shell"}{print $1","$7} END{print "laozhao,/bin/shuaige"}' passwd
注:BEGIN表示在所有数据读取之前执行; END表示在所有数据执行之后执行
4、将passwd文件中的用户id增加数值1并输出
awk -v i=1 -F : '{print $3+i}' passwd
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!