awk特殊用法

从固定格式中取出IP所在的class,并列出
例:
class A {
    192.168.1.1
    192.168.2.1
    192.168.3.1
    192.168.169.69
}
class B {
    192.168.1.1
    192.168.169.69
}
sed -nr ‘/\{/{:1;N;/\}/!b1;/192.168.169.69/s#^([^{]+).*#\1#p}‘ file

awk -vRS=‘class *.‘ ‘/192.168.169.69/{print s}{s=RT}‘ file

sed -nr ‘/class/h;/192.168.169.69/{x;s#([^{]+).*#\1#p}‘ file

awk ‘/class/{s=$1" "$2}/192.168.169.69/{print s}‘ file

时间: 2024-07-28 19:31:00

awk特殊用法的相关文章

awk基本用法

RS,ORS,FS,OFS,NR,NF,$0,$n RS 输入的行分隔号 ORS 输出的行分隔号 FS 输入的列分隔号 OFS 输出的列分隔号 NR 行号 NF 尾列号 $0 表示所有列(整行) $n 表示第n列 例如: shell> cat aa 1 2 3 4 5 6 shell> awk 'BEGIN{ORS=",\n"}{print}' aa 1 2, 3 4, 5 6, RS反之 shell> awk 'BEGIN{ORS=",\n"}{

Linux sed 和 awk的用法

sed用法: 原文链接:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed [-nefri] 'command' 输入文本 常用选项:        -n∶使用安静(silent)模式.在一般 sed 的用法中,所有来自

AWK详细用法

awk非常的优秀,运行效率高,而且代码简单,对格式化的文本处理能力超强.基本上grep和sed能干的活awk全部都能干,而且干得更好. 先来一个很爽的例子:文件a,统计文件a的第一列中是浮点数的行的浮点数的平均值.用awk来实现只需要一句话就可以搞定(当然,这个东东用python也可以很轻松的实现,只是无论如何都得新建一个文件:别妄想用bash shell来做,那可是浮点数!!!)$cat a1.021 331#.ll   442.53 6ss    7awk 'BEGIN{total = 0;

awk数组用法

两个文件,从文件b首列查找出等于文件a的行并输出[[email protected] ~]# cat a1367[[email protected] ~]# cat b1 2 32 3 43 4 54 5 65 6 76 7 87 8 9 shell脚本[[email protected] ~]# cat jieguo #!/bin/bashy=`sed -n 'p' a |wc -l`  #a 行数x=`sed -n 'p' b |wc -l`  #b行数for((i=1;i<=$y;i++)

awk基本用法(一)

awk从FILE中读取文件,并采用指定的分隔符(默认为空格),将其分为多个段,每一个段的内容都放在$n(n为数字)中.$0表示一整行的内容. awk的用法: awk 'PATTERN{ACTION}' FILE 说明: PATTERN:为匹配模式.如果没有PATTERN,则表示匹配所有. ACTION:对匹配的内容所执行的操作.最简单的ACTION为print 内置变量: NF:表示的是Number of Field,即字段个数.如果是$NF,则表示的是最后一个字段. 示例1: [[email 

awk简单用法

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. 1.域分割符 awk 在没有使用-F 指定分割符的时候.默认以空格为分割符. 域分割 $0代表文本内容全文显示 $1 代表分割第一个域 $2 代表分割第二个域 依

awk命令用法及编程

awk(gawk):报告生成器,格式化文本输出:awk,gawk 基本用法:gawk [options] 'program' FILE ... program: PATTERN{ACTION STATEMENT};可以有多个,语句之间用分号分隔 print,printf 选项: -F:指明输入数据时用到的字段分隔符 -v var=value:自定义变量: 变量: 1)内建变量 FS:input field seperator(输入字段分隔符,默认为空白字符) #awk -v FS=':' '{p

awk常见用法总结

split用法 echo "hello_xiao_lan" | awk '{split($0,b,"_");print b[3]}' //substr用法 awk '{a=substr($1,2);print a}' file2 //求均值 awk '{ sum = $1+sum ;count++ } END {print count, sum,sum/count}' aa.txt awk '{max=($2>max?$2:max)} END {print m

awk的用法(转)

awk 用法:awk ' pattern {action} ' 变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 NF 当前记录里域个数 NR 到目前为止记录数 OFS 输出域分隔符 ORS 输出记录分隔符 1.awk '/101/'               file 显示文件file中包含101的匹配行.    awk '/101/,/105/'     

awk基础用法

awk是神通广大的工具,不学一下的话,shell脚本写起来真的好艰难... awk有很多不同的版本,这里采用的是gawk(依我看,功能都差不多),它用来检索一些文件,从中找出匹配指定模式的行,然后在这些行上执行指定的动作. 基本格式如下: gwak options 'pattern {action}' file-list 其中,file-list是gawk的数据来源:options是一些特定的选项:主要部分"模式+动作"必须要放在单引号内,而且动作还要用花括号括起来.主要部分如果太多的