Linux命令之文本处理(二)
- cut命令 
 cut命令用来操作文件的列,能够视为列编辑器;与之相应是大多数的行“编辑器”。如sed、grep、sort等,它们操作文本时,以行为单位。
 cut的主要功能就是输出文本的某一列或几列。对于英文文本,一个字符就占领一列,所以输出几列就是输出几个字符。
 主要选项例如以下:- -c : 指定要输出的列数,能够是单个数字,也能够是如3-5之类的范围。 - m@meng:~$ cat new
 apple 3
 Apple 7
 pear 6
 pear 4
 banana 1
 orange 11
 m@meng:~$ cut -c 1-6 new
 apple
 Apple
 pear
 pear
 banana
 orange
- -b : 指定每行要输出的字节数。与-c选项基本一样,尤其对英文文本,由于一个英文字母就是一个字节(我认为把英文改成ASCII文本更合适)。 - m@meng:~$ cut -b 3 new
 p
 p
 a
 a
 n
 a
- -f : cut更强大的地方在于处理格式化的文本,即每行能够分为几个字段的那种。似乎非常多命令都提供这样的功能,比方sort,可是做的都非常勉强。关键是它们对分隔符的识别太差了。在这方面。awk遥遥率先。 
 -f选项用来指定输出哪个字段。默认的分隔符是tab。- 事实上多个空格似乎也能识别。有时间我会专门研究一下分隔符的问题。 - m@meng:~$ cut -f 2 new
 3
 7
 6
 4
 1
 11
 - 实际上new文件里名字和数字之间的分隔符并非tab,而cut却正确识别了;然而,这样的情况是不确定的,比方下例: - m@meng:/etc/network$ sudo netstat -apn | sed '3,6 p' -n | cut -f 1
 tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2899/sendmail: MTA:
 tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1192/named
 tcp 0 0 0.0.0.0:538 0.0.0.0:* LISTEN 1251/gdomap
 tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 672/smbd- 这么明显的分隔都没能识别,源代码怎么写的??? - -d : 指定分隔符。一般配合-f使用。分隔符一般仅仅能指定单个字符。
- -s : 仅输出包括分隔符的行。它会覆盖-f的一些功能,由于仅仅有-f时,会同一时候输出不包括分隔符的行;加上-s选项后,就会删除掉没有包括分隔符的行。
- –output-delimiter=str : 指定输出分隔符为str。
默认与输入分隔符一致。 m@meng:~$ cut --output-delimiter=: -f 1-2 new
 apple: 3
 Apple: 7
 pear: 6
 pear: 4
 banana: 1
 orange: 11
 m@meng:~$ cut --output-delimiter=: -c 1-4 new
 appl
 Appl
 pear
 pear
 bana
 oran
 - 显然,这个选项仅仅对不同字段之间有效。。。 
- uniq命令 
 能够检測出文本中反复的行,相似与sort中-u选项。- -d : 仅仅显示那些反复的行。 - m@meng:~$ cat new
 apple 3
 apple 3
 Apple 7
 pear 6
 pear 4
 banana 1
 orange 11
 m@meng:~$ uniq -d new
 apple 3
- -c,–count : 在每行前面显示反复次数。 - m@meng:~$ uniq -c new
 2 apple 3
 1 Apple 7
 1 pear 6
 1 pear 4
 1 banana 1
 1 orange 11
- -i : 忽略大写和小写。 
- -u : 仅输出不反复的行。 
 m@meng:~$ uniq -u new
 Apple 7
 pear 6
 pear 4
 banana 1
 orange 11
 - 基本的就是这几个选项了。其它的比方-s、-f等,试了几次无论用。 
Linux命令之文本处理(二)的更多相关文章
- Linux命令之vim(二)
		这一章主要介绍vim编辑器的内部使用方法和注意事项 vim编辑器有四种工作模式:正常模式.插入模式.命令模式.可视模式.简单的判断方法就是看底部,什么都没有就是正常模式,光标在编辑器最底下时则是命令模 ... 
- QrenCode : linux命令行下生成二维码图片
		原文链接:http://wowubuntu.com/qrencode.html # 作者:riku/ / 本文采用CC BY-NC-SA 2.5协议授权,转载请注明本文链接. 对于二维码大家应该并不陌 ... 
- Linux命令之find(二)
		接上一篇Linux命令之find(一) (1).实例 1.列出当前目录下及子目录下所有的.txt文件 [xf@xuexi ~]$ ls 1.txt 3.txt b.txt 公共 视频 文档 音乐 2. ... 
- Linux命令-文件文本操作grep
		文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ... 
- Linux 命令详解(二)awk 命令
		AWK是一种处理文本文件的语言,是一个强大的文本分析工具.之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Fami ... 
- Linux命令的那些事(二)
		回顾Linux(一) 学习了以下命令: mkdir/rmdir/ls/rm/pwd/cd/touch/tree/man/--help 想具体了解请看上一篇文章跳转 在Linux中推荐大家使用subli ... 
- 对Linux命令进一步学习vim(二)
		今天,进一步学习Linux相关的命令,可能会有重复的地方,但学习本来就是不断重复的过程.故作小记! 1.安装了:vim ,,,一款Linux爱好者经常用到的ide sudo apt-get inst ... 
- linux命令之文本查看
		vi掌握练习: 英文文档,相同的单词复制粘贴光标移动编辑等操作: cat:显示文件所有内容,小文件查看时使用. 缺点:文件大时不方便查看,文件很大时,会抢占系统资源,会出现命令崩溃. [zyj@loc ... 
- linux 命令进阶篇之二
		一.预备知识 选取init的进程. cat :由第一行开始显示文件内容 tac:由最后一行开始显示,有没有发现和cat是反过来写的 more:一页一页的显示内容 less:与more相似,但是可以往前 ... 
随机推荐
- String,StringBuffer与StringBuilder差异??
			String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要地, String 类型和 StringBuffer 类型的主要性能差 ... 
- one command  一键收集 oracle 巡检信息(包括dbhc,awr reports)
			初步效果图例如以下 SQL> @nb ------Oracle Database health Check STRAT ------Starting Collect Data Informati ... 
- 两个Hacker,专门Patch TObject
			http://hallvards.blogspot.fr/2006/03/hack-8-explicit-vmt-calls.html http://www.deltics.co.nz/blog/po ... 
- HttpClient使用详解
			http://itindex.net/detail/52566-httpclient HttpClient使用详解 标签: httpclient | 发表时间:2015-01-22 12:07 | 作 ... 
- Linux vmstat命令详解
			vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最 ... 
- symbol(s) not found for architecture i386
			此问题针对百度地图真机调试和模拟器.a文件的选取问题 "$(SRCROOT)/MobileYonyou/Third/BaiduMap_IOSSDK_v2.3.0_Lib/Release$(E ... 
- Android Studio Gradle 添加.so 支持文件
			近期发展Android Wear 关注商品.官员Demo所有gradle 工程. 当然,我也用eclipse配置一个可行的环境. 问题来了,eclipse,android studio 开发 andr ... 
- 基于HOG特征的Adaboost行人检测
			原地址:http://blog.csdn.net/van_ruin/article/details/9166591 .方向梯度直方图(Histogramof Oriented Gradient, HO ... 
- Java时间比較
			Date类有两个方法 一个是after()比方date1.after(date2)推断date1是否在date2之后也就是说date1小于date2吧, 一个是before()比方date1.befo ... 
- stripslashes和addslashes的区别
			我们在向mysql写入数据时,比如: mysql_query(”update table set `title`=’kuhanzhu’s blog’”); 那就会出错.同asp时一样,数据库都会对单引 ... 
