awk 脚本同时解析多个文件
ARGC The number of command line arguments (does not include
options to gawk, or the program source). 命令行参数的个数
ARGIND The index in ARGV of the current file being processed. 命令行中文件序号
ARGV Array of command line arguments. The array is indexed
from 0 to ARGC - 1. Dynamically changing the contents
of ARGV can control the files used for data. 命令行参数数组
参考来源:https://blog.csdn.net/liuzhoulong/article/details/7879300
直接替代码(脚本名为parallel.awk):
BEGIN{
print "HELLO!"
for(i=;i<ARGC;i++)
{
print ARGV[i];
}
}
{
if(ARGIND==)
{
print "1_"$;
}
else if(ARGIND ==)
{
print "2_"$;
}
else if(ARGIND==)
{
print "3_"$;
}
}
END{
}
解析文件:
1.txt
a
b
c
2.txt
a
b
c
3.txt
a
b
c
执行awk脚本: awk -f parallel.awk 1.txt 2.txt 3.txt
结果如下:
HELLO!
awk
.txt
.txt
.txt
1_1 a
1_2 b
1_3 c
2_4 a
2_5 b
2_6 c
3_7 a
3_8 b
3_9 c
关于NR,FNR:当前文件的行号FNR;总的行号是NR。
斜杠互相替换:
gsub(/\\/,"/",str);
gsub("/","\\",info);
解析为sql语句的时候,经常会遇到单引号的问题:
printf("select * from acct where log_datetime between '\''2018-10-15 00:00:00'\'' and '\''2018-10-15 23:59:59'\'' and name in (%s);",str);
awk 脚本同时解析多个文件的更多相关文章
- awk脚本
$0,意即所有域. 有两种方式保存shell提示符下awk脚本的输出.最简单的方式是使用输出重定向符号>文件名,下面的例子重定向输出到文件wow. #awk '{print $0}' grade ...
- linux bash脚本把A和B文件中有相同ID的B文件的内容输出到文件C
bash脚本把A和B文件中有相同ID的B文件的内容输出到文件C. Aid文件:ID001.1ID032.1ID090.10 Bfilt文件:XX XX XXX ID001.1 XXX999999999 ...
- 写个批处理脚本来帮忙干活--遍历文件夹&字符串处理
这次打算写几篇关于脚本方面的博客,主要是记录一下 Gradle 脚本和批处理脚本的一些写法,方便后续查阅. 前言 平常开发过程中,一些较为重复的手工性工作,如果能让脚本来帮忙处理,自然是最好的,刚好之 ...
- 使用rdbtools工具来解析redis rdb文件
工欲善其事必先利其器,日常工作中,好的工具能够高效的协助我们工作:今天介绍一款用来解析redis rdb文件的工具,非常好用.会之,受用无穷! 一.rdbtools工具介绍 源码地址:https:// ...
- 利用 nodejs 解析 m3u8 格式文件,并下 ts 合并为 mp4
利用 nodejs 解析 m3u8 格式文件,并下 ts 合并为 mp4 以前看视频的时候,直接找到 video标签,查看视频地址,然后下载下来.. 后来发现,好多 video 标签打开元素审查,如下 ...
- Python脚本打包成exe执行文件
需求 一个教辅目录结构检查工具,目录结构是[书籍]-[章节]-[题目|答案]-[*.jpg],后台有个异步处理的服务,需要强依赖这个目录结构. 书籍解析是单独的pipeline,日志对用户不可见,这里 ...
- Java使用正则表达式解析LRC歌词文件
LRC歌词是一种应用广泛的歌词文件,各主流播放器都支持. lrc歌词文本中含有两类标签: 1.标识标签(ID-tags) [ar:艺人名] [ti:曲名] [al:专辑名] [by:编者(指编辑LRC ...
- 全面解析Linux数字文件权限
全面解析Linux数字文件权限 来源: 时间:2013-09-04 20:35:13 阅读数:11433 分享到:0 [导读] 在刚开始接触Linux时对于文件权限的理解并不是很透彻,这里详细 ...
- [转] 解析Qt资源文件使用
解析Qt资源文件使用 转自:http://mobile.51cto.com/symbian-270121.htm 本文详细的介绍了Qt文件的使用,和大部分GUI框架设计工具一样,Qt也引入了资源文件系 ...
随机推荐
- java把map转json
JSONUtils.toJSONString(requestMap); com.alibaba.fastjson.JSON <!-- https://mvnrepository.com/a ...
- [2019BUAA软件工程]第0次个人作业
我 & 计算机 写在前面 撰写本博客时,笔者正就读北航计算机系大三下的软件工程课程.借由这次博客作业的机会,笔者从高考时与计算机专业结缘.大学对计算机的学习以及对未来的计划三方面进行了些许 ...
- asp.net 错误24
错误 24 “xxx.Web.xxx.xxx”不包含“xxName”的定义,并且找不到可接受类型为“xxx.Web.xxxr.xxx”的第一个参数的扩展方法“xxxName”(是否缺少 using 指 ...
- mybati内sql查询语句在两个日期内
装载自: http://blog.csdn.net/u010442302/article/details/72902441?locationNum=9&fps=1 <select i ...
- sprint1
6.0----------------------------------------------------- sprint演示 1.坚持所有的sprint都结束于演示. 团队的成果得到认可,会感觉 ...
- Window下Neo4j安装教程
一.neo4j 介绍 Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储 ...
- 面试问题总结二(技术能力-PHP)----Ⅱ
20.支付功能的实现? 答:在线支付一般来说有两种实现方式,一种是调用各个银行提供的接口,另一种是使用第三方集成好的支付功能,两种方式各有优劣.对于第三方支付来说会需要提交企业5证来验证,还会有部分手 ...
- maven在eclipse上的配置
1,安装maven,配置MAVEN_HOME 和 bin Path环境变量. 2,配置maven setting文件 <mirror> <id>alimirrorId ...
- Nginx和Apache区别
Nginx VS Apache 相同点: 1.都是HTTP服务器软件 2.功能上都采用模块化结构设计 3.都支持通用的语言接口,如PHP.Perl.Python等 4.支持正向.反向代理.虚拟主机. ...
- javascript获取当前日期和时间
){ ){ _time = year+"-"+month+"-"+date+" "+hour+":"+minu+&quo ...