sed awk 小例
实现数据库批量更新与回滚
create database awktest;
use awktest
create table user(
id int unsigned not null unique auto_increment primary key,
name varchar(40) not null,
value int unsigned not null
)ENGINE=InnoDB DEFAULT CHARSET=utf8 comment='user表';
insert into user(id, name, value) values ('1','xiao1','18'),
('2','xiao2','19'),
('3','xiao3','20'),
('4','xiao4','21');
exit
mysql -uroot -p -e 'use awktest;select * from user;' > datadump.txt
nl datadump.txt | sed '1d' | awk -F ' ' '{printf ("update user set value = 0 where name = \047%s\047;\n", $3)}' > sql.txt
nl datadump.txt | sed '1d' | awk -F ' ' '{printf ("update user set value = %s where name = \047%s\047;\n",$4,$3)}' > rollback.txt
db -Dawktest < ~/sql.txt
db -Dawktest < ~/rollback.txt
其中sql.txt:
update user set value = 0 where name = 'xiao1';
update user set value = 0 where name = 'xiao2';
update user set value = 0 where name = 'xiao3';
update user set value = 0 where name = 'xiao4';
rollback.txt:
update user set value = 18 where name = 'xiao1';
update user set value = 19 where name = 'xiao2';
update user set value = 20 where name = 'xiao3';
update user set value = 21 where name = 'xiao4';
sed awk 小例的更多相关文章
- sed awk 样例
sed [options] '[action]' filename options: -n:一般sed命令会把所有数据都输出到屏幕,如果加入此选项,则只会把经过sed命令处理的行输出到屏幕. -e:允 ...
- linux 命令小例
xargs示例: ls |xargs -i mv {} /opt find示例: find -mtime +n -name “*.avi” -type f -exec rm {} \; find - ...
- Sed&awk笔记之sed篇
http://blog.csdn.net/a81895898/article/details/8482387 Sed是什么 <sed and awk>一书中(1.2 A Stream Ed ...
- Sed&awk笔记之sed篇(转)
Sed是什么 <sed and awk>一书中(1.2 A Stream Editor)是这样解释的: Sed is a "non-interactive" strea ...
- Sed文本替换一例
使用 Sed 完成文本替换操作任务是非常合适的. 现在, 假设我要将一个原有 Java 项目中的一些包及下面的类移到另一个项目中复用. Project javastudy: Packages: alg ...
- [svc]linux正则实战(grep/sed/awk)
企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ine ...
- Linux三剑客grep/sed/awk
grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...
- Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例
Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例 一.在Eclipse下编译安装Hadoop插件 Hadoop的Eclipse插件现在已经没有二进制版直接提供,只能自己编译. ...
- linux sed awk seq 正则使用 截取字符 之技巧
[root@room9pc01 ~]# seq 5 1 2 3 4 5 [root@room9pc01 ~]# seq 2 5 2 3 4 5 seq 1 2 10 1 3 5 7 9 [root@d ...
随机推荐
- PostgreSQL ----- No relations found.
本篇文章可能有错,尚未细细研究 运行\d出错: No relations found. \d只显示可见的表,也就是该数据库的schema在search_path中. SHOW search_path; ...
- 在一个页面重复使用一个js函数的方法
给每个拥有相同行为的问题DOM节点一个相同的class类,如question,同时给不同的问题一个不同的标识ID如 id="question1" id="question ...
- json格式数据 ,将数据库中查询的结果转换为json(方式2)
controller: /*** * 返回所有版本的信息,json的形式返回到前台 * @return */ @RequestMapping(value="/getAllVersion&qu ...
- NOIP2005-普及组复赛-第三题-采药
题目描述 Description 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山 ...
- Openjudge-计算概论(A)-短信计费
描述: 用手机发短信,一条短信资费为0.1元,但限定一条短信的内容在70个字以内(包括70个字).如果你一次所发送的短信超过了70个字,则会按照每70个字一条短信的限制把它分割成多条短信发送.假设已经 ...
- Openjudge-计算概论(A)-整数奇偶排序
描述: 输入10个整数,彼此以空格分隔重新排序以后输出(也按空格分隔),要求:1.先输出其中的奇数,并按从大到小排列:2.然后输出其中的偶数,并按从小到大排列.输入任意排序的10个整数(0-100), ...
- word异常关闭,找到丢失的word
Word模板路径位置 XP系统用户默认模板路径一般在 C:\Documents and Settings\Administrator\Application Data\Microsoft\Templa ...
- 用shell统计访问日志里每个ip访问次数【转】
今天,要统计一个系统的每个ip访问次数,于是我找到该系统访问日志,并写脚本实现. 访问日志情况: [root@qular ~]# cd /usr/local/nginx/logs/ [root@q ...
- python多线程,多进程
线程是公用内存,进程内存相互独立 python多线程只能是一个cpu,java可以将多个线程平均分配到其他cpu上 以核为单位,所以GIL(全局锁,保证线程安全,数据被安全读取)最小只能控制一个核,很 ...
- HDU1007--Quoit Design(平面最近点对)
Problem Description Have you ever played quoit in a playground? Quoit is a game in which flat rings ...