LInux中的awk命令——怎么获取回显信息中指定行和指定列

发布时间 2023-07-19 10:49:04作者: 笛若心生

1 awk是一个比较棒的数据处理工具,相对于sed常常用于一整行的处理,awk则比较倾向于将一行分成数个“字段”(列)来处理。awk通常支行的模式是这样的:

    awk '条件类型1{动作1} 条件类型2{动作2} '  filename

2 awk后面接两个单引号加上两个大括号来设置想要对数据进行数理的动作,可以后续接文件,如上面的。也可以读取来自命令的standoutput。awk主要是用于每一行的字段内的数据

3 awk常用的动作是print,print的功能是将字段数据列出来。字段分隔则是以空格或者tab(默认是空格)来隔开。对所有行都处理时不需要加条件类型

4 awk处理的每一行的每个字段都是有变量名称的,$表示一整行数据(即所有的字段), $1 表示第一个字段, $2 表示第二个字段, $3 表示第三个字段

5 awk还有一些内置变量, NR(Number of Row) 、 NF ( Number of Font 这里的Font当字段来讲)、FS(Font Space)字段分隔符

5 常用的一些命令

   ps -ef | grep "pickukp" | grep -v grep | awk ' NR==3{print $2} ' |  xargs kill -9          //过滤相应的进程id后,杀死进程 

   last -n 5 | awk ' { print $1 "\t" $3 } '       //根据回显打出第1列和第3行,并使用tab键隔开