如果第一列与第二列相同,就合并行
cat a.txt
a b c
a b d
a b e
1 | awk '{v=$1" "$2;a[v]=a[v](a[v]?" ":"")$3}END{for (j in a) print j,a[j]}' file |
获得结果:
a b c d e
如果第一列与第二列相同,就合并行
cat a.txt
a b c
a b d
a b e
1 | awk '{v=$1" "$2;a[v]=a[v](a[v]?" ":"")$3}END{for (j in a) print j,a[j]}' file |
获得结果:
a b c d e
@a=(
[‘a’,’2’,’4’],
[‘b’,’3’,’2’],
[‘c’,’4’,’4’],
[‘d’,’t’,’3’],
[‘a’,’4’,’5’],
[‘c’,’3’,’5’]
);
判断第一个字段 如果出现相同的 就吧后面的两个字段加一起
想要的结果是这样的
a,24, 45
b ,3, 2
c ,43, 45
d ,t, 3
[ 本帖最后由 luesfeng 于 2009-10-3 13:54 编辑 ]
CODE:
1 | my %h = (); |
多行注释:
perl没有多行注释,可以用下面代替:
1 | =pod |
关于ref函数:
ref EXPR
ref Returns a non-empty string if EXPR is a reference, the empty
string otherwise. If EXPR is not specified, $_ will be used. The
value returned depends on the type of thing the reference is a
reference to. Builtin types include:
SCALAR
ARRAY
HASH
CODE
REF
GLOB
LVALUE
一台THINKPAD T61笔记本电脑单击用电池使用电脑时,在主板和电池接口的附近会发出吱吱电流声请问这是怎么回事呀?
THINKPAD T61笔记本电脑的CPU在默认状态下是可以变频的,所以当笔记本电脑使用电池时,为了发挥省电效能,CPU会降频运行,而在CPU与WINDOWS操作系统产生大量数据交换的时候,CPU会自动升高主频来完成加速任务,在完成后CPU会自动升高主频来加速完成任务,在完成后CPU会自动降回省电的频率运行,而这一高一低的来回切换频,造成笔记本电脑发出吧吧电流声,是正常的现象,所以要解决该问题,只要在主板BIOS设置中将CPU频率调节到始终使用最高,问题就可以解决,具体方法如下:启动计算机,进入主板BIOS设置,选择CONFIG-POWER-CPU POWER MANAGEMENT –AUTOMATIC将其值改为DISABLE,保存退出主板BIOS设置,问题就可以解决了。
PS:还没尝试过,还有人建议禁用USB接口的节电功能。目前有效果的是,移除底部的散热加,放平笔记本电流声就减少明显。
看了一个帖子,是说明,如何在awk中使用单引号的,并举了一个例子,原文如下:
awk 中插入单引号需要转义,但是并不是想象中的那么简单。有点周折,发出来和大家共享。
1 | awk '{print "INSERT INTO TABLE_NAME (COL1,COL2) VALUES (""'\''" $1 "'\''" "," "'\''" $2 "'\''" ")" }' DATA_FILE >abc.sql |
其实,这是比较糟糕的方式,awk的单引号可以用\47 表示,原文中的例子可为:
1 | awk '{print "INSERT INTO TABLE_NAME (COL1,COL2) VALUES (\47"$1"\47,\47"$2"\47);" }' DATA_FILE >abc.sql |
顺便说一句,原文中所使用的sql语句在”)”后面没有加”;”号,这会有问题的。
[概述]
[分区表和未分区表试验过程]
[分区命令详解]
自5.1开始对分区(Partition)有支持,6.0应比较稳定
举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录。
=== 水平分区的几种模式:===
Range(范围) – 这种模式允许DBA将数据划分不同范围。例如DBA可以将一个表通过年份划分成三个分区,80年代(1980′s)的数据,90年代(1990′s)的数据以及任何在2000年(包括2000年)后的数据。
Hash(哈希) – 这中模式允许DBA通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区,。例如DBA可以建立一个对表主键进行分区的表。
Key(键值) – 上面Hash模式的一种延伸,这里的Hash Key是MySQL系统产生的。
List(预定义列表) – 这种模式允许系统通过DBA定义的列表的值所对应的行数据进行分割。例如:DBA建立了一个横跨三个分区的表,分别根据2004年2005年和2006年值所对应的数据。
Composite(复合模式) – 很神秘吧,哈哈,其实是以上模式的组合使用而已,就不解释了。举例:在初始化已经进行了Range范围分区的表上,我们可以对其中一个分区再进行hash哈希分区。
举个简单例子:一个包含了大text和BLOB列的表,这些text和BLOB列又不经常被访问,这时候就要把这些不经常使用的text和BLOB了划分到另一个分区,在保证它们数据相关性的同时还能提高访问速度。
每次遇到网页表格单元格内部的换行,EXCEL自动把它变成另外一行,这使人非常郁闷,解决方法如下:
先按文本的方式放入一个单元格里,即
显示出来:
1 | 123 |
这样的字符串录入进去。
之后用ALT+10
替换掉
即可完成换行。
当然,你可以使用更加个性化的标识来替代
做前期的录入。
mysql错误提示:
1 | mysql> ERROR 13 (HY000): Can't get stat of '/root/aaa' (Errcode: 13) |
目录权限问题,将/root/aaa的父子两层目录均设为 777 就可以了。
将mysql数据库中的表proc删除,或者改名
执行以下代码重建该表
————————————————————————
1 | CREATE TABLE `proc` ( |
CentOS 开发社区已发布了新的 5.3 版本。CentOS 5.3 基于 Red Hat Enterpris Linux 5.3.0,其中包括 Kernel 2.6.18、Apache 2.2、PHP 5.1.6、MySQL 5.0、PostgreSQL 8、GNOME 2.16、KDE 3.5、OpenOffice.org 2.3、Firefox 3.0、Evolution 2.12 等等。此外,CentOS 5.3 更新了美工设计,并根据用户的请求恢复了 Contrib 仓库。
CentOS 5.3 支持 i386 及 x86_64 架构,其 ISO 映像可从以下地址获取。
http://isoredirect.centos.org/centos/5/isos/
安装CentOS 5.3是做服务器,所以没有用的,一概不装;具体哪些不装,自己看着办吧:)