$2:表示第二个字段 print $2 : 打印第二个字段 awk '{print $2}' $fileName : 一行一行的读取指定的文件, 以空格作为分隔符,打印第二个字段 比如有这样一个文件 a1 b1 c1 d1 a2 b2 c2 d2 执行的结果是,输出 b1 b2
awk'NR==5,NR==6{print $0}'alx.txt 4、输出从第3到第五行,并显示行号 awk'NR==3,NR==5 {print NR,$0}'alx.txt 5、自定义输出内容 某些情况下,需要给每一列添加类似于excel的表头信息,就可以考虑使用awk的自定义输出; awk'{print "第一列: "$1,"第二列: "$2}'alx.txt 需要注意的是大括号...
当awk读取多个文件时,NR代表的是当前输入所有文件的全部记录数,而FNR则是当前文件的记录数。如下面的例子: $ awk'{print FILENAME, "FNR= ", FNR," NR= ", NR}'student-marks bookdetails student-marks FNR=1NR=1student-marks FNR=2NR=2student-marks FNR=3NR=3student-marks FNR=4NR=4student-mark...
awk '{ if (NR<=3) {print $2"\t"$3} }' form.txt >> Name Company Jobs Apple Jack Alibaba 1. 2. 3. 4. 5. 这里用到了 awk 编程,在花括号内写了一小段程序,awk 编程基本都是借鉴 C 语言,所以 C 语言中常见的 if for while 等控制结构都可以直接借用。 这个例子中还用到了awk 内嵌特殊...
[admin@localhost ~]$ awk 'BEGIN{FS=":"; print "处理分隔符"FS"标识"}{print $0}END{print "共"NR"行,每行"NF"列"}' passwd 处理分隔符:标识 bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin 共3行,每行7列 ...
输出操作 awk可以通过print或者printf将数据输出到标准输出或者重定向到文件中。 print print我们已经使用过很多次了。其实它本质是一个输出函数,即有小括号。 print (elem1,elem2,elem3...) print elem1,elem2,elem3... 输出的每一
awk'{print $1, $2}'file 使用分隔符指定列: awk-F',''{print $1, $2}'file 打印行数: awk'{print NR, $0}'file 打印行数满足条件的行: awk'/pattern/ {print NR, $0}'file 计算列的总和: awk'{sum += $1} END {print sum}'file ...
当记录行号除以2余1,就跳过当前行。下面的print NR,$0也不会执行。下一行开始,程序有开始判断NR%2值。这个时候记录行号是:2,就会执行下面语句块:'print NR,$0' 分析发现需要将包含有“web”行进行跳过,然后需要将内容与下面行合并为一行: at text.txt web01[192.168.2.100] httpd ok tomcat ok sendmail ok...
awk'{print $0}'/tmp/hosts#打印每行全部内容 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 同样是输出行号,NR将所有文件的数据视为一个数据流,而FNR则是将多个文件的数据视为独立的若干个数据流,遇到新文件时行号从1开始重新递增。
>>> awk -F"---" '{print NR"|"$1"|"$2"|"NF"|"FILENAME"|"systime()}' log.txt ——— 1|小明,男,23,550^优秀|北京|2|log.txt|1587022443 2|小丽,女,22,560^优秀|河北|2|log.txt|1587022443 3|小磊,男,24,530^良好|河南|2|log.txt|1587022443 4|小召,男,23,540^优良|山东|2|...