wdjh.net
当前位置:首页 >> shEll Awk nr >>

shEll Awk nr

打印第一行的第一个字段,默认分隔符为 空格或制表符TAB (都可以)。 源数据可以是通过管道传递过来的多行字符串,也可以是文件。 例如: echo -e "A B C\nD E F\nG H I" | awk 'NR==1 {print $1}'或者: awk 'NR==1 {print $1}' file.txt

shell向 awk传递变量,一般用 awk -v awk_Var=${shell_Var} ' NR==awk_Var{print}' input_File 例如,shell中一个存放数值的变量a=30,打印输入文件第30行或者大于等于30 的行 或者将变量的赋值放置 awk '……' 和输入文件之间:

比如现在AWK处理到第五行。第一行没有进行操作,2,3,4,5行进行了操作,那么NR=5,FNR=4 NR==FNR 表示从起始行到当前行,awk都进行了操作,比如修改,添加等等 简单来说,NR就是当前读取多少行,FNR就是当前修改了多少行,FNR

$2:表示第二个字段 print $2 : 打印第二个字段 awk '{print $2}' $fileName : 一行一行的读取指定的文件, 以空格作为分隔符,打印第二个字段 比如有这样一个文件 a1 b1 c1 d1 a2 b2 c2 d2 执行的结果是,输出 b1 b2

SUM += $1 sum默认初值为0。awk逐行处理,$1为每行的第一个字段,就是计算每行第一个字段的累加和。 END部分是处理完所有行后执行的。 print SUM 即打印最终的累加和

NF表示第几个字段,每个字段默认用空格分开。 NF-3的意思是倒数第三个字段,ssh2是第-0个字段,663951是第-1个字段.... 192.168.0.78是第-3个字段。

awk '{print $NF}' filename 打印每行的最后一列

awk '{print NF}' file 打印每行的列数,以空格为分隔符

awk指定读取文件中的某一行的某个字段 awk 可以设置条件来输出文件中m行到n行中每行的指定的k字段,使用格式如下 awk ‘NR==m,NR==n {print $k}’ path/filename m,n,k表示实在的数值。如果要用变量来表示m,n的值,则变量需要用单引号将其引起来...

用单引号将awk命令括起来,不要用双引号,在shell中单引号中$不会被解释成变量,因此在awk脚本单引号中$n就表示awk变量,不会被shell处理

网站首页 | 网站地图
All rights reserved Powered by www.wdjh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com