Chinaunix首页 | 论坛 | 博客
  • 博客访问: 134920
  • 博文数量: 28
  • 博客积分: 527
  • 博客等级: 中士
  • 技术积分: 367
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-09 17:05
个人简介

运维开发工程师。致力于网络,WEB应用服务,Linux系统运维。方向:操作系统,监控,自动化

文章分类

全部博文(28)

文章存档

2013年(12)

2012年(16)

分类: Python/Ruby

2012-12-15 19:04:36

导论
cut用于取出若干特定的列字段,小巧方便,是awk在列方向上比较好的小型等效方案。
cut接受文件输入和标准输入,属于管道命令。


说明
  1. cut options file( or stdin )
-c char_range : 以字符宽度取出列数据;
-d 'delimiter' : 使用delimiter作为界定符,单字符,默认是tab
-f column_range : 在-d确定的情况下,-f设定取出的列的范围;
--output-delimiter : 新feature,能够指定输出间隔符,默认为和输入间隔符一致;


用法
1. 取出用户文件的用户和登录shell的信息
  1. $ cut -d':' -f 1,7 /etc/passwd
  2. root:/bin/bash
  3. bin:/sbin/nologin
  4. daemon:/sbin/nologin
  5. ...
  6. $ cut -d':' -f 1-7 /etc/passwd #列出第1-7列所有的信息;
2. 列出当前目录下文件权限位的信息
  1. $ ls -l | cut -c 1-10
  2. total 44
  3. -rw-rw-r--
  4. -rwxr-xr-x
  5. -rw-rw-r--
3. 输出cut.txt的姓名和id列,并以'=>'分隔
  1. $ cut -f 1,3 cut.txt --output-delimiter='=>'
  2. name=>num
  3. john=>1
  4. jessica=>2
  5. john=>3


总结
cut命令短小精悍,通常用作管道中的某一环节,善于对严格分隔过的数据进行抽取分析。当输入数据排列不那么严格时,应谨慎使用,寻求awk等完备工具解决。


附:cut.txt(以\t分隔)
name    class   num
john    a       1
jessica b       2
john    c       3
阅读(1564) | 评论(0) | 转发(0) |
0

上一篇:007-字符替换tr

下一篇:015-awk

给主人留下些什么吧!~~