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

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

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

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

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

awk里的$1 $NF $NR这类参数就只是awk的,如果shell也用了,在awk外都正常,但是要在awk里使用,就得换变量名,比如shell的外部参数写成name=$1,然后awk里 awk '{print $1,'$name'}'这样

Linux下脚本的第一行#! 是指明本脚本使用哪个解释器来执行当前脚本,从头文件看出这个一个awk脚本,第一行的意思可以理解为 使用 /usr/bin/awk -f 脚本名 来执行当前脚本: 比如脚本:test.awk的第一行是#!/usr/bin/awk -f那么执行这个脚本的时候就...

awk默认是以行为单位处理文本的,对1.txt中的每一行都执行后面 "{ }" 中的语句。 awk中的两个术语: 记录(默认就是文本的每一行) 字段 (默认就是每个记录中由空格或TAB分隔的字符串) $0就表示一个记录,$1表示记录中的第一个字段。 一般 pri...

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