在Linux下干活,经常需要对一些文本进行处理,比如查看日志, 比较文件,文本信息抽取等.这里讲的基本都是在工作经常使用的一些东西,不用的东西我也不会,也就不讲了.
1. vi 编辑器 vi是Linux最常用也是最好用的编辑器. 可以说在Linux不会用vi的人,基本都会被认为是不会使用Linux,或者说还没有入门Linux.常会被人笑话. ^_^. vi的使用有基本的使用,也有很多高级的使用.知道一些基本的使用就足够应付文本编辑了. 至于vi怎么使用,这里不罗嗦,说起来话太多.大家自己找相关资料看.或者找人现场教教就知道了. 2. diff 文件比较 比如比较文件a.txt 和 b.txt: diff a.txt b.txt 3. sed 文本替换 sed的功能非常强大. 在文本文件中进行字符串查找和体会非常方便. 下面举例: sed 's/\.$//g' 删除以.结尾的行 sed '-e /abcd/d' 删除包含abcd的行 sed 's/[][][]*/[]/g' 删除一个以上的空格,用一个空格代替 sed 's/^[][]*//g' 删除行首空格 sed 's/\.[][]*/[]//g 删除.后跟2或多个空格,以一个空格代替 sed 's/COL\(...\)//g'删除COL和它后边的3个字母的行 sed 's/^\//g' 删除第一个\ sed 's/[]/[]//g' 删除所有空格并用tab替代 sed 's/^[]//g' 删除行首tab键 sed 's/[]*//g' 删除所有tab键
sed支持正则表达式. sed一般和管道联合使用.
假设文件a.txt内容如下:
a aaaa xxx yyy bbbb xxx yyy
现在要把aaaa开头行的xxx换成ppp,其命令如下:sed '/aaaa/s/xxx/ppp/g' a.txt