Linux提高效率的命令

sort

Posted by Xuan on February 25, 2020

好用的linux命令

sort 排序

1.指定按列排序 -k –key=KEYDEF KEYDEF的定义是 F[.C][OPTS][,F][.C][OPTS]]。这里[]就是可填可不填的意思。

  • F表示filed, 也就是列。如,-k1,2 (效果就是将第一列和第二列进行合并,然后从左到右进行逐个比较), 里一共有两个F,分别用于排序键值的起始位置列和结束位置列。

  • .C适用于Chr23 和 Chr2这种字符和数字混合的情况,我们希望Chr2 < Chr23,但是默认是Chr23 > Chr2. .C表示从第C个位置开始,当做数字处理

#tmp.txt文件,按第二列排序
sort -k2 tmp.txt

2.按照数值大小进行排序 -n,–numeric-sort

3.逆序排序 -r –reverse

sort 统计出现频率

4.搭配 uniq 命令去重复

当重复的行并不相邻时,uniq 命令是不起作用的,所以要搭配sort命令一起使用

  • uniq File_Name (:输出删除重复行后的内容)
  • uniq -c File_Name (:删除文件中重复出现的行,并在行首显示该行重复出现的次数)
  • uniq -d File_Name (:输出文件中重复的行)

检查uniq -c 是否计算正确

awk '{if(NR%4==2) print $0}' 18-25.fastq |sort|uniq -c |awk '{sum += $1};END {print sum}' |more

Kill 命令终止进程

通过 top命令找到进程ID, Kill 强制终止

top -u xuanzhan
kill -s 9 2223

Reference

常用命令: sort学习笔记 Linux uniq 命令 git add , git commit 添加错文件 撤销