在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
 (待续)
  • awk 文字处理
  • expr 数字计算
  • wc 计算文本行数
  • tee 输出到文件
  • tail 动态观察日志