千家信息网

awk变量$0怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关awk变量$0怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。脚本内容:#!/bin/bashfor ip in `cat ip.lst`do
千家信息网最后更新 2026年11月02日awk变量$0怎么用

这篇文章给大家分享的是有关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中$0的鬼怪。于是进一步简化成了这个样子:

代码如下:


#!/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? 网上对打印前一行还提出另一个写法,就看的更莫名其妙了:
awk '/regex/{print (x==""?"":x)};{x=$0}' $1

而打印后一行是这样:
awk '/regex/{getline;print}' $1

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

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

感谢各位的阅读!关于"awk变量$0怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

一行 内容 变量 更多 篇文章 还是 不错 实用 莫名其妙 一句话 上下 代码 写法 印前 原理 文章 时候 本行 样子 看吧 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网高科技 广州为想互联网科技有限公司 互联网科技工作委员会副主任毛军 重生之互联网科技帝国 互联网医疗科技 期待互联网科技 互联网科技小额贷款 字节跳动和互联网科技 千方科技属于互联网企业吗 互联网科技公司有风险吗 乌苏新华互联网科技做什么的 山东有哪些互联网科技公司 深圳互联网科技的发展 江苏苏星互联网科技有限公司 互联网与数字科技关系 普陀区互联网教育科技管理办法 互联网公司属于科技吗 青岛易易互联网科技 互联网对科技影响 互联网科技快速发展优美句子 上海挚品互联网科技有限公司 涨乐互联网科技 互联网未来科技 嘟嘟瓜互联网科技 互联网科技论坛 深圳卡尔迅互联网科技有限公司怎么样 工业互联网科技成果转化 2021世界互联网领先科技成果发布 银川新华互联网科技学校是国营吗 黑龙江互联网科技公司
0