月度归档:2012年04月

如何利用shell命令在特定文件类型中做搜索

比如在log文件中搜索相应的代码:

#第一种方法,{}在这里指find搜索的结果
find $dir -type f -name '*.log' -exec grep -o $pattern {} \;
#第二种方法
find $dir -type f -name '*.log' -print0 | xargs -0 grep -o $pattern

参考:http://zh.wikipedia.org/wiki/Xargs
摘录自:http://www.unix.com/unix-dummies-questions-answers/53172-how-do-i-grep-specific-file-types.html

设置vim自动识别文件编码

默认的vim是使用UTF-8打开文件,如果文件的编码不是UTF-8就会用latin-1(ASCII)编码打开文件,而window系的文件大多会是GB*文件,所以打开此类文件容易出现乱码问题。我们可以给VIM提供一个自动尝试编码列表,那么就可以实现VIM自动识别编码,避免乱码问题。

在~/.vimrc文件中加入:

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

可以用set fileencoding命令查看VIM是用什么编码打开的文件,如果你打开GB*类文件会发现vim使用了cp936编码打开文件。

如果想要查看文件的编码,可以安装enca命令

sudo apt-get install enca

 

 

Linux中的md5命令

今天想生成一个字符串的MD5, shell中有一个md5sum命令,但是这个适合用来验证MD5,如果要生成字符串的MD5可以这样

echo -n ‘123456’ | md5sum

这样不是很方便,so我写了个超简单的shell脚本


#!/bin/bash
echo -n $1 | md5sum | awk '{print $1}'

https://gist.github.com/2271597

将上面的代码写入/user/bin/md5文件,并且给文件加上执行权限。

于是世界变得美好了;


md5 123456

#print e10adc3949ba59abbe56e057f20f883e