linux sort多字段排序实例解析
本文研究的主要是linux sort多字段排序,具体介绍如下。
Linux多数发行版自带的sort程序,非常强大,在此只说多字段排序
sort 有个参数-k,可以指定字段,有比较复杂的语法,不在文本范围内。
一下为一段数据(从基因中得到,仅仅作为demo),文件名为 data
chr13 3008566 3008677
chr9 3024384 3024515
chr19 3157071 3157172
chr5 3236386 3236476
chr13 3041044 3041191
chr12 3045343 3045532
chr6 3087308 3087625
chr5 3109870 3110091
chr9 3115454 3115531
字段中间以空格分开
现在想首先按照染色体进行排序,然后相同的染色体上的基因按起始位点进行排序,那么这就是一个多字段的排序,而且第二个字段为数字,使用sort命令如下
sort -t ' ' -k1,1 -k2n,2 data
其中 -t ' ' 指定使用空格分列
- -k1,1 指定以第一列为关键字排序
- -k2n,2 指定以第二列为关键字做数据排序
也可以使用
sort +0 -1 +1n -2
效果是一样的。
排序结果
chr12 3045343 3045532
chr13 3008566 3008677
chr13 3041044 3041191
chr19 3157071 3157172
chr5 3109870 3110091
chr5 3236386 3236476
chr6 3087308 3087625
chr9 3024384 3024515
chr9 3115454 3115531
总结
以上就是本文关于linux sort多字段排序实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
您可能感兴趣的文章:
- Linux中文本处理工具之sort命令详解
- linux之sort命令的用法
相关推荐
-
Linux中文本处理工具之sort命令详解
前言 sort命令将每一行作为一个单位进行比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按一定的顺序进行输出,实际上,sort命令可以被认为是一个非常强大的数据治理工具,用来治理内容类似数据库记录的文件.下面来一起看看吧. 一.sort实战演练 sort.txt root,x,0,0,root,/root,/bin/bash daemon,x,1,1,daemon,/usr/sbin,/usr/sbin/nologin bin,x,2,2,bin,/bin,/usr/sb
-
linux之sort命令的用法
sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式:sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序. 参 数: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -f 排序时,忽略大小写字母. -M 将前面3个字母依照月份的缩写进行排序. -n 依照数值的大小排序. -o<输出文件> 将排序后的结果存入指定的文件. -r 以相反的顺序来排
-
linux sort多字段排序实例解析
本文研究的主要是linux sort多字段排序,具体介绍如下. Linux多数发行版自带的sort程序,非常强大,在此只说多字段排序 sort 有个参数-k,可以指定字段,有比较复杂的语法,不在文本范围内. 一下为一段数据(从基因中得到,仅仅作为demo),文件名为 data chr13 3008566 3008677 chr9 3024384 3024515 chr19 3157071 3157172 chr5 3236386 3236476 chr13 3041044 3041191 chr
-
Linux下的多线程编程实例解析
1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者.传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程.现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux. 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答这些问题. 使用多线程的理由之一是和进程相比,它
-
golang中按照结构体的某个字段排序实例代码
目录 概述 从大到小排序 按照结构体的某个字段排序 使用 sort.Stable 进行稳定排序 附:根据结构体中任意字段进行排序 总结 概述 golang的sort包默认支持int, float64, string的从小大到排序: int -> Ints(x []int)float64 -> Float64s(x []float64)string -> Strings(x []string) 同时它还提供了自定义的排序接口Interface,此接口保护三个方法. type Interfa
-
SpringBoot JPA sort多属性排序实例
目录 SpringBoot JPA sort多属性排序 导入jar包 代码示例 在Sping Boot项目中使用Sort排序时报错 可以改用Sort.by获得Sort对象 SpringBoot JPA sort多属性排序 在开发JPA中,遇见需要对数据进行多属性排序的情况,例如 select * from MldmasView order by vslName ASC,custName ASC,docDate DESC; 导入jar包 import org.springframework.dat
-
Linux nohup命令原理及实例解析
nohup命令 在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &.可是有很多程序并不想mysqld一样,这样我们就需要nohup命令 进程和作业管理 nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端. 无论是否将 nohup 命令的输出重定向到终端,输出都将附
-
java Collections 排序--多条件排序实例
我就废话不多说了,大家还是直接看代码吧~ // 告警排序 Collections.sort(domesticAirport, comparator); // 告警排序 Comparator<AirportRtWeatherWarningBeanForTable> comparator = new Comparator<AirportRtWeatherWarningBeanForTable>() { @Override public int compare(AirportRtWeat
-
java8 stream sort自定义复杂排序案例
java 8 自定义排序 需求 今天在项目中遇到个需求,按照对象中的三个属性进行排序. 具体要求: 前提:对象 Obj [a=a,b=b,c=c] 1. 优先级为a > b > c 2. a属性为中文,固定排序规则为:政府,合作,基金 - - 3. b的为BigDecimal类型,固定的排序规则为:降序排序 4. c为java.util.Date类型,规则为:降序排序 其实看这个需求,第3点和第4点不是什么问题,但是第1点,会考虑下怎么实现好. 直接上方案吧! 方案一 新建一张排序表,至少要有
-
Linux中文件描述符fd与文件指针FILE*互相转换实例解析
本文研究的主要是Linux中文件描述符fd与文件指针FILE*互相转换的相关内容,具体介绍如下. 1.文件描述符fd的定义:文件描述符在形式上是一个非负整数.实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表.当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符.在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开.但是文件描述符这一概念往往只适用于UNIX.Linux这样的操作系统. 2.文件指针FILE定义说明文件指针的一般形式为: FI
-
django-orm F对象的使用 按照两个字段的和,乘积排序实例
class F F()是代表模型字段的值,也就是说对于一些特殊的字段的操作,我们不需要数据先取到内存中,然后操作,在存储到db中了. 以下为几个使用的经典场景: 1. 统计点击量,点赞(每次加1) from django.db.models import F Reporters.objects.filter(id=case_id).update(thumb_num=F('thumb_num') + 1) 2.一个合同字段,结束日期和终止日期的比较很容易实现 终止日期小于结束日期 from dja
-
c++ qsort 与sort 对结构体排序实例代码
#include<bits/stdc++.h> using namespace std; typedef struct { string book; int num; }Book; //qsort的比较函数 int cmp(const void * a, const void * b) { return (*(Book*)a).num > (*(Book*)b).num ? 1 : 0; } //sort的比较函数 bool cmp_(Book a, Book b) { return a
随机推荐
- JavaScript实现的XML与JSON互转功能详解
- VBScript教程 第十二课VBScript页面的简单样例
- 使用批处理重置TCP_IP协议
- 详解JavaScript正则表达式中的global属性的使用
- Java并发编程之性能、扩展性和响应
- PHP实现文件下载断点续传详解
- python实现进程间通信简单实例
- 解决vue2.x中数据渲染以及vuex缓存的问题
- js类型检查实现代码
- Drupal简体中文语言包安装教程
- ASP代码的对象化
- javac、java打jar包命令实例
- sqlserver数据库最大Id冲突问题解决方法之一
- oracle更新xml节点问题的一些细节
- jquery实现图片等比例缩放以及max-width在ie中不兼容解决
- 在光标处插入字符串的实现代码 兼容IE,Firefox
- 关于STL中set容器的一些总结
- Android实现弹出登陆框的方案
- android自定义Camera拍照并查看图片
- Python学习之Django的管理界面代码示例