$META_DB -N -e "use web_boss_rainbow;
select iDsId, sDbname, sHost, sPort, sNameServiceKey,sDriver from t_boss_v2_page_datasource;">${sDataFile}
sed -i 's/\t/,/g' ${sDataFile}
:>${loadFn}
i=1
while read line
do
((i++))
iDsId=`echo $line|awk -F ',' '{print $1}'`
sDbname=`echo $line|awk -F ',' '{print $2}'`
sHost=`echo $line|awk -F ',' '{print $3}'`
sPort=`echo $line|awk -F ',' '{print $4}'`
sNameServiceKey=`echo $line|awk -F ',' '{print $5}'`
sDriver=`echo $line|awk -F ',' '{print $6}'` if [ -n "$sNameServiceKey" ]; then
zkname $sNameServiceKey |awk '{print iDsId","sDbname","$1","$2}' iDsId="$iDsId" sDbname="$sDbname">>${loadFn}
else
echo $iDsId","$sDbname","$sHost","$sPort>>${loadFn}
#直接用awk向文件中写入不成功,用echo写入文件
# awk '{print iDsId","sDbname","sHost","sPort}' iDsId="$iDsId" sDbname="$sDbname" sHost="$sHost" sPort="$sPort">>${loadFn}
fi
done <${sDataFile}

 从mysql表中读取数据写入文件,并按行读取进行解析,并将原文件中的第一、二列和解析出来的第一二列写入文件中。

由于sDataFile中有为空的数据,之前的文件每列是按tab分割,所以先用sed将\t替换为逗号,

awk可以用-F指定分隔符,将每行用awk分割并赋予变量

awk不接收外来文件或字符串输入时,直接用awk写入文件有问题,改用echo写入到文件里,暂时没有时间查原因,以后待查。

awk使用实例一则的更多相关文章

  1. AWK命令的用法

    1.awk命令简介: awk是一种可以处理数据.产生格式化报表的语言,功能十分强大. awk的工作方式是读取数据,将每一行数据视为一条记录(record)每笔记录以字段分隔符分成若干字段,然后输出各个 ...

  2. 【译】 AWK教程指南

    前面的话: 这几天写了一个程序,在同一个目录里生成了很多文件,需要统计其中部分文件的总大小,发现经常用到的ls.du等命令都无济于事,我甚至都想到了最笨的方法,写一个脚本:mkdir一个新目录,把要统 ...

  3. 【转】Awk 命令学习总结、AWk命令系列学习(linux shell)

    前面的话 学习linux 的同人,都知道linux shell文本处理能力非常强大.有一组强大的文本处理工具:grep,sed,awk . 其中grep 经常用作查找匹配文本.sed用作文本编辑替换. ...

  4. linux awk用法

    awk是一个强大的文本分析工具,在对数据进行分析并生成报告时显得尤为强大. 使用方法:awk [options]  'BEGIN{ commands } pattern{ commands } END ...

  5. linux常用命令 awk命令

    awk命令 awk [选项] '条件1{动作1} 条件2{动作2}...' 文件名 条件(Pattern) *) 一般使用关系表达式作为条件 *) x>10 判断变量x是否大于10 *) x&g ...

  6. Awk 命令学习总结、AWk命令系列学习(linux shell)

    AWK基本语法 下面没有提到awk命令怎么使用了,你可以通过 运行:awk –h 查询到所有命令及参数!下面把awk作为一门语言分节介绍. linux awk 内置变量使用介绍   awk语言中,怎么 ...

  7. 文本处理三剑客之AWK的用法

    1.awk命令简介: awk是一种可以处理数据.产生格式化报表的语言,功能十分强大. awk的工作方式是读取数据,将每一行数据视为一条记录(record)每笔记录以字段分隔符分成若干字段,然后输出各个 ...

  8. Linux Shell编程第4章——sed和awk

    目录 sed命令基本用法 sed命令实例 命令选项 文本定位 编辑命令 awk编程模型 awk编程实例 1.awk模式匹配 2.记录和域 3.关系和布尔运算符 4.表达式 5.系统变量 6.格式化输出 ...

  9. linux 三剑客(awk,sed,grep)

    1.awk 在某些场景下,我们需要过滤方式希望是列来匹配,而不是sed的行来匹配,而且awk还可以嵌套for等循环去使用,拓展性强,当然awk也是最难的. awk的常用命令选项: -F fs   fs ...

随机推荐

  1. rest-assured的默认值与Specification重用

    一.默认值 rest-assured发起请求时,默认使用的host为localhost,端口为8080,如果你想使用不同的端口,你可以这样做: given().port(80)...... 或者是简单 ...

  2. 获取HTML代码用 像阿里巴巴

         public string GetHtml(string url)         {               string html = String .Empty;          ...

  3. Wscript的popup

    Dim WSHShell Set WSHShell = WScript.CreateObject("WScript.Shell") WshSHell.popup "枚举主 ...

  4. 文献综述四:基于 UML 技术的客户关系管理系统实现

    一.基本信息 标题:基于 UML 技术的客户关系管理系统实现 时间:2015 出版源:电子设计工程 文件分类:uml技术的研究 二.研究背景 使用UML 建模技术和 B/S 架构访问模式,设计出可应用 ...

  5. js栈内存和堆内存的区别

    首先JavaScript中的变量分为基本类型和引用类型.基本类型就是保存在栈内存中的简单数据段,而引用类型指的是那些保存在堆内存中的对象. 1.基本类型 基本类型有Undefined.Null.Boo ...

  6. 牛客网Java刷题知识点之为什么HashMap不支持线程的同步,不是线程安全的?如何实现HashMap的同步?

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  7. [linux] uptime 命令中关于平均负载的解释

    1.当前时间 00:13:25 2.系统已运行的时间 9小时19分 3.当前在线用户 2 user 4.平均负载:0.17, 0.12, 0.07 最近1分钟.5分钟.15分钟系统的负载 为了更好地理 ...

  8. npm是什么NPM的全称是Node Package Manager

    npm是什么NPM的全称是Node Package Manager

  9. 统一latext在vsc的markdown+math和有道云笔记里的出发方式

    起因 前段时间在有道云笔记上写笔记,里面使用latex来记录数学符号,有道云的latex行内触发模式为 `$ latex $`, 之后我在visual studio code里面使用markdown+ ...

  10. [转]微信小程序(应用号)是什么,是否值得投入进来做?

    本文转自:http://www.woshipm.com/it/417887.html 距离张小龙的那场首次公开演讲已经有九个月了,而在那场演讲中备受关注的「应用号」在千呼万唤中终于以「小程序」的名字正 ...