前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >cut-sort-uniq

cut-sort-uniq

作者头像
生信喵实验柴
发布2022-10-25 19:26:38
8260
发布2022-10-25 19:26:38
举报
文章被收录于专栏:生信喵实验柴生信喵实验柴

一、cut

1.1 软件介绍

cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

主要参数

-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。

-c :以字符为单位进行分割。

-d :自定义分隔符,默认为制表符。

-f :与-d 一起使用,指定显示哪个区域。

-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。

1.2 使用案例

代码语言:javascript
复制
#1 分割文件并输出
cut -d : -f 1,3 /etc/passwd
cut -d: -f 2- /etc/passwd
#2 选取每个文件前两个字符
ls -1 /Data/ | cut -c 1-2

二、sort

2.1 软件介绍

sort 根据命名我们就能知道这个工具的主要作用就是用来排序,对文本文件内的内容进行排序,排序是计算机编程中非常重要的一项工作,排序之后的数据更加具有规律,并且更方便处理。在生物信息分析中排序也是非常重要的工作,我们常常需要根据基因组的坐标位置进行排序,例如在利用短序列比对进行变异检测的过程中,首先就需要进行排序,例如 bwa比对之后,利用 samtools 对 bam 结果进行排序,然后才能进行后续的分析。排序主要可以分为三种情况,第一种是最常见的根据数字大小进行排序,例如根据坐标位置大小进行排序,根据比对的分值大小排序结果;第二种是根据根据字符大小进行排序,比如abcdef 这种顺序,或者根据基因名字进行排序,第三种是给定一个文件,里面包含了指定

的顺序。

sort 命令用于对文本内容进行再排序,语法格式为“sort [参数] 文件名称”。有时文本中的内容顺序不正确,一行行地手动修改实在太麻烦了。此时使用 sort 命令就再合适不过了,它能够对文本内容进行再次排序。这个命令一定要借助于实战一看就懂。

2.2使用案例

代码语言:javascript
复制
#1 排序
sort scores.txt #默认按第一列排序
cut -A scores.txt #查看有几列,^为制表符,$为结尾
sort -r scores.txt #默认按第一列排序倒序
awk '{print $2,$3}' scores.txt | sort

#2 按第二列数字大小排序
awk '{print $2,$3}' scores.txt | sort -n -k 2

#3 逆序排序
awk '{print $2,$3}' scores.txt | sort -n -r -k 2

#4 计算特异项,类似uniq
awk '{print $2,$3}' scores.txt | sort -u

#5 按多值排序
cat scores.txt | sort -t $'\t' -k 2 -k 3

#6 按照第二列中第三个字母排序
cat scores.txt | sort -t $'\t' -k 2.3    |head

#7 复杂排序
cat scores.txt | sort -t $'\t' -k 2,2  -k 3nr,3

三、uniq

3.1 软件介绍

uniq 是 unique 的意思,和 sort -u 的功能差不多,uniq 能够将文件中的重复删除掉,只留下每条记录的唯一值,一般与 sort 命令结合使用。

3.2使用案例

代码语言:javascript
复制
#1 计算特异
cat scores.txt | cut  -f 2 | uniq 

#2 计算频数
cat scores.txt | cut  -f 2 | uniq -c
cat scores.txt | cut  -f 2 | uniq -c | sort -n -k1

#3 找出重复项
cat scores.txt | cut  -f 2,3 | uniq -D

#4 忽略固定列 
cat scores.txt | uniq -f 1 -D

写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。

代码语言:javascript
复制
sx.voiceclouds.cn

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信喵实验柴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档