我有几个列的遗传变异数据,目前我的变体/谱线排列错误,需要按染色体分类。我尝试过几种方法来做这件事,使用类似问题的答案,但没有一种有效,主要是给我空文件。
目前我的染色体顺序是:
1
10
11
12
13
14
15
16
17
18
19
2
20
21
22
3
4
5
6
7
8
9这些行需要按从1上升到22的顺序排序。
我试过:
sort -k 1,1 -k2,2n file.avinput > test.avinput
sortBed -i file.avinput > test.avinput
sort -k1,1V -k2,2g file.avinput > test.avinput
bedtools sort -g file.bed> test.avinput #gives *ERROR: Need -i BED file.这些都会运行,但是当我尝试head test.avinput时,它不会给我任何东西,或者当我检查awk '{print $1}' test.avinput | sort -u时,订单仍然是错误的--我还能尝试改变它吗?
下面是几行代码的一个例子:
File.avinput:#3列是染色体,开始和结束-我没有标题
1 10 11
10 200 201
2 20 21
22 2000 2001预期有序产出
1 10 11
2 20 21
10 200 201
22 2000 2001目前,尝试使用sort -n的任何形式都会给出一个空文件。
发布于 2020-03-12 18:12:38
根据更改的任务更新。
创建数据的file1文件:
$ cat file1
1 10 11
10 200 201
2 20 21
22 2000 2001现在,我们对文件行进行排序,并将结果写入file2:
$ cat file1|sort -n > file2或者我们甚至可以简化它:
$ sort -n file1 > file2检查file2中的结果:
$ cat file2
1 10 11
2 20 21
10 200 201
22 2000 2001https://unix.stackexchange.com/questions/572579
复制相似问题