- 浏览: 135822 次
- 性别:
- 来自: 上海
最新评论
-
dylan.wu:
重命名后,比如浏览器的下载路径为“下载”,会自动变为新的文件夹 ...
Ubuntu下把默认目录名改成英文 -
narwhal:
直接在文件夹上右键,选择重命名就可以了!
Ubuntu下把默认目录名改成英文
文章列表
CMake的简单例子
- 博客分类:
- 项目管理
CMake 简介
CMake是一个跨平台的自动化建构系统,他使用一个名为CMakeLists.txt的文件来描述构建过程,可以产生标准的构建文件,如Unix的Makefile或Windows Visual C++的projects/workspaces。文件CMakeLists.txt需要手工编写,也可以通过编写脚本进行半自动的生成。CMake提供了比autoconfig更简洁的语法。在Linux平台下使用CMake生成Makefile并编译的流程如下:
1、编写CMakeLists.txt
2、执行命令:"cmake PATH"生成Makefile(PATH是CMak ...
使用getopts可以处理
<command> [-i infile] outfile。不过还不知道怎么处理像<command> outfile [-i infile]。因为getopts遇到outfile时就会放弃分析。
usage='Usage: <command> [-i infile] outfile'
infile='/tmp/infile'
while getopts ":i:" opt; do
case $opt in
i)
infile=$OPTARG
...
在shell脚本中定义函数时,曾被局部变量,全局变量搞的头昏脑胀的。于是就写了两个脚本尝试了一下。首先看第一个例子
#!/bin/bash
function test() {
echo "d_o_f:" $d_o_f
d_i_f="defined in function"
d_o_f="modified in function"
echo "d_i_f:" $d_i_f
echo "d_o_f:" $d_o_f
}
echo &qu ...
从大文件中随机抽取一定数据
- 博客分类:
- 数据挖掘
在建模的时候,时常需要构造训练集和测试集,但当总数据比较大的时候,如何进行简单抽样也是一个问题。
假设有这样一个情况,一份数据总共有1,000,000条,要从中抽取100,000条左右的数据。每条数据相对比较大,把所有数据一次放入内存不靠谱,那么如何抽样呢?
最龊的方法就是抽取头100,000或100,000条。
第二种能想到的方法就是,构造一个1-1,000,000的数组,然后从里面随机抽取100,000个作为样本行号列表,在读取大文件,一旦行号在列表中就输出到样本文件中。
第二种方法基本够用,但还是存在一定缺陷。当总数据非常大,需要抽取的样本数也不小时,或机器内存较小时。于是考虑到使 ...
1、定义 list1=(a b c)
2、获取item个数: ${#list1[@]}
3、获取某个item:${list1[0]},${list1[1]}
4、转换成以空格分隔各item的字符串: str=${list1[*]}
5、把以空格分隔的字符串转换成list:str=a" "b" "c; list1=($str); echo ${#list1[@]};
这条用的场所,主要是把ls, find等命令的返回值转换成list;比如:
str=$(ls ./); list1=($str); 也可以写成list1=($(ls ./));
...
可以使用“ls”来查看一个目录下各个文件的大小,但是无法查看文件夹的大小。shell里有个命令可以实现查看文件,文件夹占磁盘空间大小。那就是“du“
几个比较常用的方式
1、du -sh
查看当前目录的总的占磁盘空间。-s表示求总和,-h表示使用人类易读的形式,也就是x.xG, x.xM, x.xK这样的形式,而不是字节数。
2、du -h
迭代显示当前目录下所有子文件夹,文件占磁盘大小。
3、du -h --max-depth=1
只显示当前目录下所有子文件夹及文件占磁盘大小,而不会迭代进到子文件夹。
还有其它文件显示方式,可以通过du --help来查看各参数的意义。 ...
1.加密一个文件: [root@fxvsystem root]# openssl enc -des -e -a -in install.log -out install.log.des enter des-cbc encryption password: Verifying - enter des-cbc encryption password: 输入密码之后,就会生成install.log.des文件,这个文件名是自己指定的,可以随意写。 其中: enc表明你打算使用某个算法 -des是具体使用的某个算法 -e 表明要加密 -a 同样是使用ASCII进行编码 -in ...
在shell脚本中有时需要用到相对路径,来减少子程序的路径配置,但是这样主程序还是需要知道自己所在的路径。有什么办法可以自动获取主程序所在的目录,而不用配置呢。总结了一下,运行脚本的方式有以下几种(假如主程序名为"test.sh")
1、./test.sh or sh test.sh
2、test.sh (路径配置在了环境变量中)
3、../bin/test.sh or sh ../bin/test.sh
4、/usr/local/bin/test.sh or sh /usr/local/bin/test.sh
总结一下其实 ...
利用awk 的范围模板来读取ini中的配置
范围模板匹配从第一个模板的第一次出现到第二个模板的第一次出现之间所有行。如果有一个模板没出现,则匹配到开头或末尾。
如$ awk '/root/,/mysql/' test将显示root第一次出现到mysql第一次出现之间的所有行。
假设tmp.ini文件内容为
[common]
key1="common 1"
key2="common 2"
[com1]
key1="com1 1"
key2="com1 2"
[com2]
k ...
如果想用一个shell脚本把输入参数完整的传给另一个脚本,特别遇到以下这种情况的时候./a.sh 'test 1' 'test 2'。此时就需要使用$@,而不是$*来完成需求。具体运行一下以下脚本就清楚这两条命令之间的区别了。
b.sh
echo pn:$#
echo p: $*
echo p: $@
a.sh
echo $#
echo './b.sh $*'
./b.sh $*
echo './b.sh $@'
./b.sh $@
echo './b.sh "$*"'
./b.sh "$*"
echo './b.sh &q ...
下面是一些shell的常用快捷键,快捷键玩熟悉了在一定程度上是可以提高工作效率滴…Ctrl + a 切换到命令行开始Ctrl + e 切换到命令行末尾Ctrl + l 清除屏幕内容Ctrl + u 清除剪切光标之前的内容Ctrl + k 剪切清除光标之后的内容
C ...
有时候会遇到如下情况,现有几个文件,每个文件的每条记录都含有通过tab(也可以是其它字符)切割的字段值,并且第一个字段是key,其它字段都是不一样的,现在需要求所有文件中除了key以外的所有字段个数。当然可以通过写一段简单的脚本实现,其实用一段简单的shell命令就可以实现
head -1 -q tmp1.txt tmp2.txt | awk 'BEGIN{FS="\t"; i=0;} {i=i+NF-1} END{print i;}'
(echo aaa >> /dev/null;sleep 10; exit 0)&
(echo bbb >> /dev/null;sleep 11; exit 1)&
(echo ccc >> /dev/null;sleep 12; exit 0)&
(echo ddd >> /dev/null;sleep 5; exit 0)&
(echo eee >> /dev/null;sleep 4; exit 1)&
for i in {1..5}; do
wait %$j ...
ubuntu pdf中文乱码问题解决
- 博客分类:
- 杂项
具体步骤:
一、安装一个东西,似乎是字体哦?
sudo apt-get install poppler-data
二、修改字体配置文件
sudo gedit /etc/fonts/conf.d/69-language-selector-zh-cn.conf
我只修改了红色字体部分,就是WenQuanYi Zen Hei 这款中文字体移动到第一个位置。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd ...
1、并行数据库
1.1、并行数据库的体系结构
并
行机的出现,催生了并行数据库的出现,不对,应该是关系运算本来就是高度可并行的。对数据库系统性能的度量主要有两种方式:(1)吞吐量
(Throughput),在给定的时间段里所 ...