awk -F ' ' '{print $1}' /var/www/html/apache-tomcat-7.0.27/logs/localhost_access_log.2012-12-27.txt | sort | uniq -c | sort -u
cut -d ' ' -f1 /var/www/html/apache-tomcat-7.0.27/logs/localhost_access_log.2012-12-27.txt | sort | uniq -c | sort -u
awk -F ' ' '{print $1}' /var/www/html/apache-tomcat-7.0.27/logs/localhost_access_log.2012-12-27.txt | sort | uniq -c | sort -u
cut -d ' ' -f1 /var/www/html/apache-tomcat-7.0.27/logs/localhost_access_log.2012-12-27.txt | sort | uniq -c | sort -u
首先我们建立一张带有逗号分隔的字符串。 CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCHAR(20) NOT NULL,pnum VARCHAR(50) NOT NULL); 然后插入带有逗号分隔的测试数据 INSERT INTO test(pname,pnum) VALUES('产品1','1,2,4'); INSERT INTO test(pname,pnum) VALUES('产品2','2,4,7'); INSERT INTO test(pname,pnum) VALUES('产品3','3,4'); INSERT INTO test(pname,pnum) VALUES('产品4','1,7,8,9'); INSERT INTO test(pname,pnum) VALUES('产品5','33,4'); 查找pnum字段中包含3或者9的记录 mysql> SELECT * FROM test WHERE find_in_set('3',pnum) OR find_in_set('9',pnum); +----+-------+---------+ | id | pname | pnum | +----+-------+---------+ | 3 | 产品3 | 3,4 | | 4 | 产品4 | 1,7,8,9 | +----+-------+---------+ 2 rows in set (0.03 sec) 使用正则 mysql> SELECT * FROM test WHERE pnum REGEXP '(3|9)'; +----+-------+---------+ | id | pname | pnum | +----+-------+---------+ | 3 | 产品3 | 3,4 | | 4 | 产品4 | 1,7,8,9 | | 5 | 产品5 | 33,4 | +----+-------+---------+ 3 rows in set (0.02 sec) 这样会产生多条记录,比如33也被查找出来了,不过MYSQL还可以使用正则,挺有意思的 find_in_set()函数返回的所在的位置,如果不存在就返回0 mysql> SELECT find_in_set('e','h,e,l,l,o'); +------------------------------+ | find_in_set('e','h,e,l,l,o') | +------------------------------+ | 2 | +------------------------------+ 1 row in set (0.00 sec) 还可以用来排序,如下; mysql> SELECT * FROM TEST WHERE id in(4,2,3); +----+-------+---------+ | id | pname | pnum | +----+-------+---------+ | 2 | 产品2 | 2,4,7 | | 3 | 产品3 | 3,4 | | 4 | 产品4 | 1,7,8,9 | +----+-------+---------+ 3 rows in set (0.03 sec) 如果想要按照ID为4,2,3这样排序呢? mysql> SELECT * FROM TEST WHERE id in(4,2,3) ORDER BY find_in_set(id,'4,2,3'); +----+-------+---------+ | id | pname | pnum | +----+-------+---------+ | 4 | 产品4 | 1,7,8,9 | | 2 | 产品2 | 2,4,7 | | 3 | 产品3 | 3,4 | +----+-------+---------+ 3 rows in set (0.03 sec)
文章转载自 http://blog.csdn.net/myweishanli/article/details/11963137
打开.bash_profile文件
如果没有先创建一个
$ touch ~/.bash_profile
打开文件并编辑
$ vim ~/.bash_profile
在最后面加入并保存并退出
# Git branch in prompt. parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* (.*)/ (1)/' } export PS1="u@h W[33[32m]$(parse_git_branch)[33[00m] $ "
最后别忘了让编辑的文件生效
source ~/.bash_profile
Notice:
[33[32m] 这部分设置分支的文本的颜色,如果你喜欢另一种颜色,修改斜杠内的色值。
1、获取远程服务器上的文件
scp -P 2222 root@www.vpser.net:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz
2、将本地的文件上传到远程
scp -P 2222 /home/lnmp0.4.tar.gz root@www.vpser.net:/root/lnmp0.4.tar.gz
自从OS X 10.8 发布一来一直有个小问题就是长时间不使用的时候系统会自动进入休眠状态并且断开wifi网络连接.这样会造成下载的数据暂停等. 有些小不方便.
经过搜索, 可以在终端内输入如下命令暂停这个休眠.
新版的支持一个Standby的模式的,在GUI界面是看不见的,也没有休眠的设置,所以需要使用命令。
sudo pmset -a standby 0 sleep 20 hibernatemode 3 networkoversleep 0 force
要恢复只需要在终端输入
sudo pmset -a standby 1 sleep 20 hibernatemode 3 networkoversleep 0 force
这样的设置可能会造成如果没有连接电源情况下比较费电. 大家请酌情使用吧..
转自:http://blog.sina.com.cn/s/blog_71715bf80101ebhk.html
这几天抽空看了一下git文档,发现有个hooks的好东西,在开发过程中常常不小心会把一些不想提交的文件给提交进去,也常常在提交代码后发现 文件有语法错误,这样的提交一旦上线后很可能会导致正式环境出现严重的问题。
今天就说一下 pre-commit 这个hook,它会在你执行 git commit 操作的时候触发,如果该hook返回1,那么这次的 commit 将会被终止。
hook 位于 .git/hooks/ 目录下,可以看到很多 .sample 的文件这些都是示例文件,我们自己建一个 pre-commit 文件,里面可以写shell脚本,比如我写了一个检查php语法错误和config文件不可被提交进去的脚本
#!/bin/sh # # An example hook script to verify what is about to be committed. # Called by "git commit" with no arguments. The hook should # exit with non-zero status after issuing an appropriate message if # it wants to stop the commit. # # To enable this hook, rename this file to "pre-commit". ROOT_DIR="$(pwd)/" LIST=$(git diff-index --name-only --diff-filter=ACMR HEAD) ERRORS_BUFFER="" for file in $LIST do EXTENSION=$(echo "$file" | grep "config.php$") if [ "$EXTENSION" != "" ]; then echo "注意:有config文件要提交!如果确定要提交可用 git commit --no-verify 来忽略"; exit 1 fi EXTENSION=$(echo "$file" | grep ".php$") if [ "$EXTENSION" != "" ]; then ERRORS=$(php -l $ROOT_DIR$file 2>&1 | grep "Parse error") if [ "$ERRORS" != "" ]; then if [ "$ERRORS_BUFFER" != "" ]; then ERRORS_BUFFER="$ERRORS_BUFFERn$ERRORS" else ERRORS_BUFFER="$ERRORS" fi echo "检测到有语法错误的php文件: $file " fi fi done if [ "$ERRORS_BUFFER" != "" ]; then echo echo "Found PHP parse errors: " echo -e $ERRORS_BUFFER echo echo "PHP parse errors found. Fix errors and commit again." exit 1 else echo "No PHP parse errors found. Committed successfully." fi
大功告成,测试一下:
Mysql varchar 和 int 类型的字段 left join 关联查询查询不到 返回NULL的问题
可尝试
LEFT JOIN `tb1` ON `tb1`.`order_id` = CAST( `tb2`.`order_id` AS UNSIGNED )
Too many open files经常在使用linux的时候出现,大多数情况是您的程序没有正常关闭一些资源引起的,所以出现这种情况,请检查io读写,socket通讯等是否正常关闭 错误信息:
create_debugger_socket("127.0.0.1", 9002) socket: Too many open files
用 ulimit -a 查看了一下 只有 256
ulimit -a open files (-n) 256
使用 ulimit -n 命令来提高 open files 数
ulimit -n 1024
当然这个只是临时的修改,关闭终端后就失效了 我们可以通过修改 /etc/launchd.conf 文件来使其永久生效 如果系统中不存在launchd.conf我们就创建一个,如果已存在 则在最后添加
sudo vim /etc/launchd.conf
添加以下内容 limit maxfiles 65536 65536 修改后重启电脑然后再通过 ulimit -a 查看
core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 65536 pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 709 virtual memory (kbytes, -v) unlimited
参考文章:http://artincube.com/too-many-open-files-limit-on-mac-os-x-ptgui-pro/
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
———————————————
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
———————————————
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
———————————————
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
———————————————
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
———————————————
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
———————————————
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf –
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName