的妙用_随笔_内存溢出"> 分享awk变量$0的妙用_随笔_内存溢出

分享awk变量$0的妙用

分享awk变量<P>的妙用,第1张
分享awk变量$0的妙用 脚本内容:复制代码
代码

如下:
#!/bin/bash
for ip in `cat ip.lst`
do
./ssh.exp $ip > /dev/null 2&>1
done
NK=`awk 'BEGIN{bs=4000000}/access/{if($1>bs){nk=NR-1;print nk}}' exp.log`
for nnk in $NK
do

awk -F"[@|']" 'NR=='"$nnk"' {print $2}' exp.log

done

然后又发现awk中

复制代码的鬼怪。于是进一步简化成了这个样子: awk '/regex/{print (x==""?"":x)};{x=
awk '/regex/{getline;print}'
}'
代码如下:
#!/bin/bash
for ip in
`cat ip.lst`
do
./ssh.exp $ip > /dev/null 2&>1

done

awk 'BEGIN{bs=4000000}/access/{if($1>bs)print x};{x=$0}' exp.log|awk -F"[@|']" '{print $2}' 终于算是圆了自己用一句话搞定它的梦。yeah~ 不过对这个原理还是不很明白。因为print x;x=$0出来是上一行,但print $0则是本行。why? 网上
对打

印前一行还提出另一个写法,就看的更莫名其妙了:

不过这毕竟是恰好上下行而已,如果是要前几行的,还是要靠NR运算了。

而打印后一行是这样:

因为awk的流式处理,print x;x=,这个时候的x要等到下一行时才print出来。

欢迎分享,转载请注明来源:

内存溢出

原文地址:
http://outofmemory.cn/zaji/3345871.html本行
下行
(0) 微信扫一扫 打赏 支付宝扫一扫 微信扫一扫
支付宝扫一扫
狠狠的射 狠狠的射
Linux shell脚本基础学习详细介绍(完整版)第12页
上一篇
2022-10-06
Linux 脚本编写基础知识
2022-10-06

发表评论 后才能评论
提交

评论列表(0条)

怼是什么意思

2022-8-1

免谈
春园
的妙用", "images": ["http://outofmemory.cn/aiimages/%E5%88%86%E4%BA%ABawk%E5%8F%98%E9%87%8F%240%E7%9A%84%E5%A6%99%E7%94%A8.png"], "description": "脚本内容:复制代码 代码如下:#!binbashfor ip in `cat ip.lst`do.ssh.exp $ip > devnull 2&>1doneNK=`awk 'BEGIN{b", "pubDate": "2022-10-06", "upDate": "2022-10-06" }
{label} {label} {label}保存{label} {label} {label} {label} 的妙用', logo_pure : '/view/img/logo.png', att_img : '/aiimages/%E5%88%86%E4%BA%ABawk%E5%8F%98%E9%87%8F%240%E7%9A%84%E5%A6%99%E7%94%A8.png', excerpt : '脚本内容:复制代码 代码如下:#!binbashfor ip in `cat ip.lst`do.ssh.exp $ip > devnull 2&>1doneNK=`awk 'BEGIN{b', author : '狠狠的射', cat_name : '随笔', time_y_m : '2022年10月', time_d : '06', site_motto : '内存溢出' }; {script} {script}