awk使用实例一则
$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使用实例一则的更多相关文章
- AWK命令的用法
1.awk命令简介: awk是一种可以处理数据.产生格式化报表的语言,功能十分强大. awk的工作方式是读取数据,将每一行数据视为一条记录(record)每笔记录以字段分隔符分成若干字段,然后输出各个 ...
- 【译】 AWK教程指南
前面的话: 这几天写了一个程序,在同一个目录里生成了很多文件,需要统计其中部分文件的总大小,发现经常用到的ls.du等命令都无济于事,我甚至都想到了最笨的方法,写一个脚本:mkdir一个新目录,把要统 ...
- 【转】Awk 命令学习总结、AWk命令系列学习(linux shell)
前面的话 学习linux 的同人,都知道linux shell文本处理能力非常强大.有一组强大的文本处理工具:grep,sed,awk . 其中grep 经常用作查找匹配文本.sed用作文本编辑替换. ...
- linux awk用法
awk是一个强大的文本分析工具,在对数据进行分析并生成报告时显得尤为强大. 使用方法:awk [options] 'BEGIN{ commands } pattern{ commands } END ...
- linux常用命令 awk命令
awk命令 awk [选项] '条件1{动作1} 条件2{动作2}...' 文件名 条件(Pattern) *) 一般使用关系表达式作为条件 *) x>10 判断变量x是否大于10 *) x&g ...
- Awk 命令学习总结、AWk命令系列学习(linux shell)
AWK基本语法 下面没有提到awk命令怎么使用了,你可以通过 运行:awk –h 查询到所有命令及参数!下面把awk作为一门语言分节介绍. linux awk 内置变量使用介绍 awk语言中,怎么 ...
- 文本处理三剑客之AWK的用法
1.awk命令简介: awk是一种可以处理数据.产生格式化报表的语言,功能十分强大. awk的工作方式是读取数据,将每一行数据视为一条记录(record)每笔记录以字段分隔符分成若干字段,然后输出各个 ...
- Linux Shell编程第4章——sed和awk
目录 sed命令基本用法 sed命令实例 命令选项 文本定位 编辑命令 awk编程模型 awk编程实例 1.awk模式匹配 2.记录和域 3.关系和布尔运算符 4.表达式 5.系统变量 6.格式化输出 ...
- linux 三剑客(awk,sed,grep)
1.awk 在某些场景下,我们需要过滤方式希望是列来匹配,而不是sed的行来匹配,而且awk还可以嵌套for等循环去使用,拓展性强,当然awk也是最难的. awk的常用命令选项: -F fs fs ...
随机推荐
- rest-assured的默认值与Specification重用
一.默认值 rest-assured发起请求时,默认使用的host为localhost,端口为8080,如果你想使用不同的端口,你可以这样做: given().port(80)...... 或者是简单 ...
- 获取HTML代码用 像阿里巴巴
public string GetHtml(string url) { string html = String .Empty; ...
- Wscript的popup
Dim WSHShell Set WSHShell = WScript.CreateObject("WScript.Shell") WshSHell.popup "枚举主 ...
- 文献综述四:基于 UML 技术的客户关系管理系统实现
一.基本信息 标题:基于 UML 技术的客户关系管理系统实现 时间:2015 出版源:电子设计工程 文件分类:uml技术的研究 二.研究背景 使用UML 建模技术和 B/S 架构访问模式,设计出可应用 ...
- js栈内存和堆内存的区别
首先JavaScript中的变量分为基本类型和引用类型.基本类型就是保存在栈内存中的简单数据段,而引用类型指的是那些保存在堆内存中的对象. 1.基本类型 基本类型有Undefined.Null.Boo ...
- 牛客网Java刷题知识点之为什么HashMap不支持线程的同步,不是线程安全的?如何实现HashMap的同步?
不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...
- [linux] uptime 命令中关于平均负载的解释
1.当前时间 00:13:25 2.系统已运行的时间 9小时19分 3.当前在线用户 2 user 4.平均负载:0.17, 0.12, 0.07 最近1分钟.5分钟.15分钟系统的负载 为了更好地理 ...
- npm是什么NPM的全称是Node Package Manager
npm是什么NPM的全称是Node Package Manager
- 统一latext在vsc的markdown+math和有道云笔记里的出发方式
起因 前段时间在有道云笔记上写笔记,里面使用latex来记录数学符号,有道云的latex行内触发模式为 `$ latex $`, 之后我在visual studio code里面使用markdown+ ...
- [转]微信小程序(应用号)是什么,是否值得投入进来做?
本文转自:http://www.woshipm.com/it/417887.html 距离张小龙的那场首次公开演讲已经有九个月了,而在那场演讲中备受关注的「应用号」在千呼万唤中终于以「小程序」的名字正 ...