当前位置: 首页 > 编程日记 > 正文

awk处理文件内容格式

今天运营出了点问题,需要对特定时间段充值数做一个处理,文件格式有特定要求,要符合erlang的格式
{roleID,gold}.
mysql导出所有数据
结果如下【取部分数据看】:
===================================
kuwo    4       50004106230500  100
kuwo    4       50004106230900  10
agent   server  role_id ****
uu178   5       380005100002500 300
agent   server  role_id ****
uu178   6       380006100000600 200
uu178   6       380006100110500 20
agent   server  role_id ****
yy365   1       860001100008000 2000
yy365   1       860001100008100 1900

===================================
首先去掉表头信息:
cat log.txt | grep -v agent
kuwo    4       50004104005100  50
kuwo    4       50004104284100  1000
kuwo    4       50004105824300  1000
kuwo    4       50004106230500  100
kuwo    4       50004106230900  10
uu178   5       380005100002500 300
uu178   6       380006100000600 200
uu178   6       380006100110500 20
yy365   1       860001100008000 2000
yy365   1       860001100008100 1900
==============================
去掉第一列每二列
cat log.txt | grep -v agent | awk '{print $3,$4}'
50004104005100 50
50004104284100 1000
50004105824300 1000
50004106230500 100
50004106230900 10
380005100002500 300
380006100000600 200
380006100110500 20
860001100008000 2000
860001100008100 1900
拼凑格式
cat log.txt | grep -v agent | awk '{print $3,$4}'|  awk '{print "{"$1",",$2"}."}'
{50004104005100, 50}.
{50004104284100, 1000}.
{50004105824300, 1000}.
{50004106230500, 100}.
{50004106230900, 10}.
{380005100002500, 300}.
{380006100000600, 200}.
{380006100110500, 20}.
{860001100008000, 2000}.
{860001100008100, 1900}.
====================================
大功告成,比用脚本去逐行生成文件快多了
最后,整个过程可整理成一条管道命令
cat log.txt | grep -v agent | awk '{print "{"$3",",$4"}."}' > newfile.txt


通过 为知笔记 发布


转载于:https://www.cnblogs.com/firmy/archive/2012/09/28/2707647.html

相关文章:

QQ远程协助没动静?QQ版本有讲究

一位网友觉得电脑反应速度慢了,想通过QQ远程协助让我处理一下。不料接受请求后,等了许久都显示网友电脑的桌面,而网友那边QQ也没有任何提示。 反复尝试了几次都是如此。 询问网友得知他用的QQ为2011版,而我使用的QQ是2008版。难…

java课堂测试样卷-----简易学籍管理系统

程序设计思路:分别建立两个类:ScoreInformation类(用来定义学生的基本信息以及设置set和get函数)ScoreManagement类(用来定义实现学生考试成绩录入,考试成绩修改,绩点计算等功能的函数)和一个主…

python3安装setuptools步骤_setuptools、pip的安装

第2篇分享 安装setuptools 下载setuptools源码setuptools-25.2.0.tar.gz选择需要的版本 这是一个压缩文件,将其解压到桌面,并进入该文件夹 按住shift键后,在文件夹空白处点击鼠标右键,选择:在此处打开命令窗重点&#…

如何将简单CMS后台管理系统示例转换为Java、Php等不同后台语言的版本

等下要去坐车,今天就不继续唠叨开发过程了,来谈一下普遍比较关心的后台语言问题。学习Ext JS,笔者一直强调学习的中心思路是“界面与数据是分离”。只要好好掌握这个思路,深入了解Ext JS的运作过程,就不会为后台语言使…

[面试]future模式

Future模式 什么是future模式? 传统单线程环境下,调用函数是同步的,必须等待程序返回结果后,才可进行其他处理。 Futrue模式下,调用方式改为异步。 Futrue模式的核心在于:充分利用主函数中的等待时间,利用…

java ide

tidespringsource sts a vmware product plugin:Aptana Studio 3(集成了Git) Run on Jettyeclipse for jee plugin:JBoss Tools,m2eclipe,spirng tools,svn

成长秘笈:是你教我,不是我教你

郑昀 20180622 “谢谢你,你是第一个面试的时候跟我说这么详细的。那我到你们公司之后怎么就能成长了呢?” “你们这些人最大的问题是出不了方案。 为什么出不了方案? 因为没有养成深度思考问题的习惯。 实现方案、算法、数据迁移、准备数据、…

计算机网络面试题(一)

1、OSI,TCP/IP,五层协议的体系结构,以及各层协议 OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口 网络层、运…

Ubuntu下安装和配置Apache2

在Ubuntu中安装apache 安装指令:sudo apt-get install apache2 安装结束后: 产生的启动和停止文件是:/etc/init.d/apache2 启动:sudo apache2ctl -k start 停止:sudo apache2ctl -k stop 重新启动:sudo apa…

苹果电脑安装python3密码_mac系统安装Python3初体验

前沿 对于iOS开发不要随便拆卸系统自带的Python,因为有很多 library 还是使用 Python2.7。 1 安装Xcode 1.1 App Store 搜索Xcode 并安装 1.2 安装 Xcode command line tool 1.2.1 打开命令行terminal工具 control space 输入terminal 回车 1.2.2 安装Xcode command line tool…

【IBM Tivoli Identity Manager 学习文档】3 系统部署

作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ ITIM 5.0 单服务器配置和部署。 部署ITIM之前要对其组件进行部署: IBM DB2 Enterprise 9.1 with FP2 IBM WebSphere Application Server 6.1 with FP9 IBM Tivoli Directory Server 6.2 IB…

数据结构Java版之红黑树(八)

红黑树是一种自动平衡的二叉查找树,因为存在红黑规则,所以有效的防止了二叉树退化成了链表,且查找和删除的速度都很快,时间复杂度为log(n)。 什么是红黑规则? 1.根节点必须是黑色的。 2.节点颜色要么是红要么是黑。 3.…

你真的了解Grid布局吗?

Grid网格布局 概述:Grid将容器划分为一个个网格,通过任意组合不同的网格,做出你想想要的布局 Grid与flex布局相似,将整个Grid分为了容器与子项(格子) Grid容器的三个重要的概念: 行和列单元格网…

webform里的验证控件

1.非空验证控件:RequireFieldValidator ;2.数据比较验证:CompareValidator ;3.数据范围验证:RangeValidator ;4.正则表达式验证:RegularExpressionValidator ;5.自定义条件验证&…

hash是线程安全的吗?怎么解决?_这次进程、线程、多线程和线程安全问题,一次性帮你全解决了...

1. 什么是进程一个软件,在操作系统中运行时,我们称其为进程。进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。2. 什么是线程在一个进程中,每个独立的功能都需要独立的去运行,这时又需要把当前这个进…

WinXP不能共享Win7的打印机的解决方法

现在很多企业里存在着WinXP和Win7混用,WinXP不能正常共享Win7的文件和打印机,经过设置发现Win7可以Ping通Winxp并且也可以发现WinXP的共享文件,可是WinXP却不能共享Win7的文件和打印机,看了一下相关资料后简单设置就解决了这个问题…

第三阶段 10_JavaWeb基础_

因为要准备接本,不一定能够每天更新 转载于:https://www.cnblogs.com/BaiZe258/p/9251075.html

工厂模式(Factory)(转)

先来明确一个问题,那就是有的时候,实例化这个活动不应该总是公开的进行, 也就是不要公开的使用 new 操作符,因为,这样容易造成耦合问题。 我们不应该针对实现编程,但是当我们在使用 new 的时候,…

Asp.net后台创建HTML

为了使HTML界面中的内容能根据数据库中的内容动态显示用户需要的内容,或者根据权限不同要显示同而实现页面内容的动态创建 使用HtmlGenericControl创建HTML标签 引入命名空间: using System.Web.UI.HtmlControls; 更改其属性: hgg_div.Attributes.Add("style&q…

oracle视图(转)

视图的概念 视图是基于一张表或多张表或另外一个视图的逻辑表。视图不同于表,视图本身不包含任何数据。表是实际独立存在的实体,是用于存储数据的基本结构。而视图只是一种定义,对应一个查询语句。视图的数据都来自于某些表,这些…

Redis 事物

redis 事物: Redis 事物的实现: 首先 wath监控键值 myKey开启批量执行 multi,执行命令入列,执行 exec 。如果监控的键值mykey 没有被修改过,则exec 中批量执行的命令成功,否则执行失败。无论执行成功与否&a…

python dos攻击_利用SMB漏洞DoS攻击任何Windows系统

原标题:利用SMB漏洞DoS攻击任何Windows系统近日微软报出SMB V1存在漏洞,安全研究员并将此漏洞称作 “ SMBLoris ”,解释其能够发动拒绝服务(Dos)攻击,可以感染 Windows 2000 及以上操作系统的任一版本 SMB …

java基础编程题(2)

1、给定一个二叉树,找出其最大深度。 注:二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x…

python元组转字典_python中怎么将元组、字典转化为列表

python中将元组、字典转化为列表的方法: python中可以使用list()方法将元组或字典转化为列表: list()方法语法:list( tup ) 参数 tup -- 要转换为列表的元组。 返回值 返回列表。 示例: 将元组转换为列表:#!/usr/bin/p…

搭建Git服务器教程转载

1. 在Windows下使用sshmsysgit客户端搭建Git服务器 http://www.codeproject.com/Articles/296398/Step-by-Step-Setup-Git-Server-on-Windows-with-CopS 2. 在Windows下使用Apachemsysgit客户端搭建Git服务器 http://www.devbean.info/2011/10/apache-git-server-on-windows/ 3…

存储过程处理错误数据

create or replace procedure ERR_REDUCEDATA is --sx --定义变量 v_realindiobjid VARCHAR2(100); v_indiobjid VARCHAR2(32); v_residuemoney number ; v_reducemoney number ; v_approbjid VARCHAR2(32); -- v_indiecoid VARCHAR2(32); --v_indiecocode VARCHAR2(32); v_Ap…

[置顶] 面向业务开发应用

自从计算机出现后,快速便捷的从太平洋一样的文海中找到水滴大小的资料真正成为了可能,而能够帮助人们实现这一愿望的程序员就像中世纪的航海家一样用神秘的代码程序指引着计算机一步一步实现的需求。而他们所用的被称之为“程序”的序列组合,…

vector方法

借鉴网上资料&#xff0c;整理了vector使用的一些方法&#xff0c;记录下来&#xff0c;方便以后查阅 vector初始化 vector<int>a(10) //只定义长度 vector<int>a(10,1)//长度为10&#xff0c;初始值为1 vector<int>a(b); //用b向量来创建a向量&#xff0c;…

MyEclipse Enterprise Workbench 9.0 破解及注册机 注册码

MyEclipse 9.0的激活机制终于破解了&#xff0c;破解步骤比老版本要复杂一些&#xff0c;但是是绝对可以破解的&#xff0c;这个破解对主程序无任何修改&#xff0c;只替换公钥&#xff0c;如果有牛人会快速从公钥反推私钥&#xff0c;那就什么都不用改了&#xff0c;步骤如下&…