查看原文
其他

生物信息之独孤九剑——cut

2018-03-26 王通 基因学苑

编者按

今年到目前写了不少内容,本来想写专题的,而且已经写了两个了,一共写了40篇。结果突然有一天发现,两年前写的一个专题还没有写完。本来要写一个生物信息之独孤九剑,结果只写了七篇,后来居然忘了继续更新,变成了《七种武器》。现在要继续更新完。令狐冲被费了内力,但却是《笑傲江湖》中的高手,原因在于他学会了独孤九剑,能够见招拆招。遇到任何问题都能有方法应对。我们给大家推荐的Linux九个重要命令,熟练之后,也可以处理生物信息分析中大量问题。

生物信息之独孤九剑——grep

生物信息之独孤九剑——sed

生物信息之独孤九剑——单行perl

生物信息之独孤九剑——sort

生物信息之独孤九剑——awk

生物信息之独孤九剑——vim

生物信息之独孤九剑——find


1、cut介绍:

cut顾名思义用来切割数据,就是将一段数据进行分割,然后取出我们想要的部分。可以简单的认为split命令是按照行来进行切分数据的,而cut则是按列来切分数据的。前面介绍过通过sed可以输出文件中任意的行,而通过cut可以输出任意的列。


2、cut选项参数:

-b :以字节为单位进行分割。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f  :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。


3、cut用法:

cut命令主要是接受三个定位方法:

第一,字节(bytes),用选项-b;

第二,字符(characters),用选项-c;

第三,域(fields),用选项-f。


4、案例一:通过字节进行分割;

比如这里有个一个blast比对m8格式的列表文件,生物数据分析中有很多列表格式的结果。
我们使用cut -b 1 然后blastm8.list。就是将文件中每一行第一个字符输出出来。输出结果就是一堆字符gggggg。


5、案例二:一次取出多个字节;

cut支持多个字符,比如1-28,则将第一列提取出来了。


6、案例三:自定义字符进行分割;

-c是按照字符进行提取,和-b有些类似,这两个使用起来都不方便,因为刚才提到的-b和-c只能在固定格式的文档中提取信息,而对于非固定格式的信息则束手无策。这时候“域”就派上用场了。域其实就是先设置“间隔符”,再设置“提取第几个域”。
比如还是刚才的例子,我们设置-d域的分割符为竖线,然后在通过-f指定提取第几个域即可,这里我们想要序列的Access Number,也就是文件中的NP和YP等字符。

cut -d 竖线来分隔域,分隔之后,这部分是第四个域和第八个域的内容,我们设置-f即可。

更多关于cut命令的功能,可以通过man cut或者cut --help查看。



---------- END ----------


(更多精彩内容,欢迎关注微信公众号)



您可能还会感兴趣的

手把手教你生信分析平台搭建专栏合集
生物信息重要资源站点合集
Perl还是Python或者R
绘制manhanttan图
利用R绘制GO条目图
如何在Linux下优雅的装X
利用R实现vlookup
生物学才是终极学科


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存