完成的功能:
有一个文件格式如下:
2401:b400:20::/48
2401:b400:21::/48
2001:250:4000::/48
2001:da8:8f00::/48
2001:250:3000::/48
使用空行分割成25部分,比如第一部分代表一个AS的前缀IP地址
另外一个文件:
BJ_Tsinghua
WuHan
GuangZhou
NanJing
一共25行,每一行对应文件1 中的一个部分,现在的需求是要在文件1中加入 这个前缀 达到效果如下:
2401:b400:20::/48 BJ_Tsinghua
2401:b400:21::/48 BJ_Tsinghua
2001:250:4000::/48 WuHan
2001:da8:8f00::/48 WuHan
2001:250:3000::/48 GuangZhou
我实现的方法是使用awk 的FS和RS。
首先使用RS=“” (以空行切分记录) 作为 读取记录的分隔符,那么awk 每次就会读入一个分块了,而不是默认的一行。FS 使用\n 这样就可以对读取的分块 按行划分。
代码如下所示:主要有两个参数,index 代表是第几个分块,prefix代表是相应的前缀;
ps: 我是越来越喜欢shell 脚本了。
function addPrefix(){
index=$1;
prefix=$2;
cat prefix.conf |awk -v pre=$prefix -v id=$index 'BEGIN{FS="\n";RS=""}(NR==id){for(i=1;i<=NF;i++){print $i"\t"pre}}'
}
i=1
while read line;
do
addPrefix $i $line
let i=i+1
echo -e "\n"
done < name.conf
相关推荐
AWK中FNR和NR,OFS和FS,RS和ORS.txt
主要介绍了awk中RS、ORS、FS、OFS的区别和联系小结,用大量实例来说明和讲解,需要的朋友可以参考下
很多朋友没搞告白AWK内建变量FS,NF,NR,RT,RS,ORS,OFS的方法和原理,小编给大家总结了详细的内容,一起来学习下思路。
awk学习awk学习awk学习awk学习awk学习awk学习awk学习
1. 前言 这是一本awk学习指引, 其重点着重于 : awk 适于解决哪些问题 ?...本手册为awk入门的学习指引, 其内容将先强调如何撰写awk程序,未列入进一步解题方式的应 用实例, 这部分将留待UNIX进阶手册中再行讨论.
awk ‘/101/’ file 显示文件file中包含101的匹配行。 awk ‘/101/,/105/’ file awk ‘$1 == 5′ file awk ‘$1 == “CT”‘ file 注意必须带双引号 awk ‘$1 * $2 >100 ‘ file awk ‘$2 >5 && $2<=15' file
FS - The Input Field Separator Variable OFS - The Output Field Separator Variable NF - The Number of Fields Variable NR - The Number of Records Variable RS - The Record Separator Variable ORS - ...
AWK 详细使用文档 AWK 详细使用文档 AWK 详细使用文档
学习和理解AWK的最佳书籍 一致这本书是学习awk的最好书籍,网上下不到的,国内也买不到。国家图书馆和北京大学图书馆都有。强烈建议所有想学awk的同志们阅读(会有很多awk语言之外的启迪) 偶然机会得到,不敢独享...
awk参考资料, awk参考资料详情.
awk是unix,linux中处理文本的好工具,本文用一个实例说明awk脚本的编写及使用.
awk用法小结 - - - by ruson 2006.4 NTU 1. awk非常适合于结构化的文本文件(行、列数据)复杂...Solaris下建议用nawk,因为旧awk有很多功能不支持,例如数学运算幂 ^ ,函数getline,system等。 总结的很有条理。
因为遇到了awk问题,所以找到这个小结,共享一下
awk 是一门编程语言,它的基本操作是在一组文件上查找模式,并在包含这些模式实例的那 些行或字段上进行指定的动作。awk 使得特定数据的选择和变换操作更易于表达
awk的详细介绍,awk的使用介绍,awk的使用教程,awk的学习宝典
精通awk命令 Unix awk使用手册.htm awk.pdf
awk详解awk详解awk详解awk详解awk详解awk详解awk详解awk详解awk详解
你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。awk是什么?与其它大多数UNIX命令不同的是,从名字上看,我们不可能知道awk的功能:它既不是...
This book is about a set of oddly named UNIX utilities, sed and awk. These utilities have many things in common, including the use of regular expressions for pattern matching. Since pattern matching ...