千家信息网

awk变量$0怎么用

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章给大家分享的是有关awk变量$0怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。脚本内容:#!/bin/bashfor ip in `cat ip.lst`do
千家信息网最后更新 2025年01月19日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安全错误 数据库的锁怎样保障安全 软件开发都有什么技术 太原网警检查网络安全 允许安全访问办公室中服务器 宝塔环境服务器 数据库和程序版本不匹配怎么办 工信部网络安全局与阿里巴巴 C 软件开发测试工程师 重庆有哪些软件开发公司 二级软件开发工程师含金量 ieee数据库多少一年 福田软件开发工资 罗湖做商城软件开发哪家便宜 pi币在全球有多少台服务器 软件开发职业目标完整最新版 资阳网络安全审计 ip安全代理服务器 第七个全民网络安全宣传周 sql数据库数据容错 大兴区网络技术信息收费 河北企业党建软件开发系统 南京数字化智慧消防软件开发 注药泵软件开发 网络安全技术课程设计实验指导书 网络安全福建省 公司网络安全总结 云南网络安全的学校 网易版我的世界基岩版有服务器吗 红桥区企业网络技术售后服务 苏州戴尔企业专属服务器 请大家搜索数据库搜索
0