cat text.txt a b c d e awk 'NR%2==1{next}{print NR,$0;}' text.txt 2 b 4 d 当记录行号除以2余1,就跳过当前行。下面的print NR,$0也不会执行。下一行开始,程序有开始判断NR%2值。这个时候记录行号是:2,就会执行下面语句块:'print NR,$0' 分析发现需要将包含有“web”行进行跳过,然后需要...
awk常用内置变量:$1、$2、NF、NR、$0 $1:代表第一列 $2:代表第二列以此类推 $0:代表整行 NF:一行的列数 NR:行数 案例: awk -F: NR==10'{print $1}' zz ##打印第10行第一列 awk -F : '{print $NF}' zz ##打印最后一列 awk 'END{print NR}' zz ##打印总行数 awk 'END{print $0}...
awk ‘NR==2,NR==3 { print }’ example2.txt “` 在上面的命令中,`NR`是awk的内置变量,表示记录号,即行数。`NR==2,NR==3`表示指定打印第2行到第3行的内容。 输出结果为: “` 2,banana,yellow 3,orange,orange “` 只有指定的行数被打印出来。 ## 7. 结尾文件扩展 在本节中,将介绍如何使用...
awk ‘{sum+=$n} END {print sum}’ filename 这个命令将计算文件中第n个字段的总和,并将结果输出到屏幕上。 6. 使用预定义变量: 在awk中,有许多预定义的变量可以用来处理文本,如NR表示当前的行号,NF表示当前行的字段数等。可以根据需要使用这些变量来进行更复杂的文本处理。 总结: awk是一种功能强大的文本...
awk-vOFS="-"'{print $1,$2}'/tmp/hosts #以"-"作为字段分隔符 awk-vOFS="\t"'{print $1,$2}'/tmp/hosts #以Tab制表符为字段分隔符 awk-vOFS=". "'{print NR,$0}'/tmp/hosts #在每行前面加上行号和点 ORS 保存的是输出记录的分隔符 ...
>>> awk -F"---" '{print NR"|"$1"|"$2"|"NF"|"FILENAME}' log.txt ___ 1|小明,男,23,550^优秀|北京|2|log.txt 2|小丽,女,22,560^优秀|河北|2|log.txt 3|小磊,男,24,530^良好|河南|2|log.txt 4|小召,男,23,540^优良|山东|2|log.txt 5|小欣,女,23,545^优良|山西|2|log...
[root@localhost test]# awk '{if(NR>2)print "行号为:" NR }' test 行号为:3 行号为:4 行号为:5 判断当读取的行数(行号)大于2时,输出对应的内容。 FNR 也是读取文件的行数,但是和NR 不同的是当读取的文件有两个或两个以上时,NR 读取完一个文件,行数继续增加 而FNR 重新从1开始记录 ...
FNR/NR:行号 FS:定义输入间隔符 //awk 'BEGIN{FS=":"};{print $1,$3}' 此时跟awk -F: '{print $1,$3}'是一样的 OFS:定义输出字段分隔符,默认空格 //awk -F: 'BEGIN{OFS="==>"};{print $1,$3}',输出的$1==>$3,也可以awk -F: '{print $1"==>"$3}这么写 ...
# awk-F ':' '{print $1}' /etc/passwd root bin daemon adm lp sync ... 还可以指定多个分隔符,作为同一个分隔符处理: # tail -n3 /etc/services |awk -F'[/#]' '{print $3}' iqobject iqobject MatahariBroker # tail -n3 /etc/services |awk -F'[/#]' '{print $1}' iqobject...
接着下面的Awk程序,打印了记录数(NR),以及该记录的字段数目: 因此可以非常容易的发现那些数据丢失了。 $ awk'{print NR,"->",NF}'student-marks1->52->53->44->55->4 FILENAME: 当前输入文件的名字 FILENAME表示当前正在输入的文件的名字。 AWK 可以接受读取很多个文件去处理。看下面的例子: ...