1. Sort排序:https://www.cnblogs.com/fulucky/p/8022718.html

参  数:
  -b   忽略每行前面开始出的空格字符。
  -c   检查文件是否已经按照顺序排序。
  -d   排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
  -f   排序时,将小写字母视为大写字母。
  -i   排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
  -m   将几个排序好的文件进行合并。
  -M   将前面3个字母依照月份的缩写进行排序。
  -n   依照数值的大小排序。
-g -o<输出文件> 将排序后的结果存入指定的文件。 -r 以相反的顺序来排序。 -t<分隔字符> 指定排序时所用的栏位分隔字符。如sort -n -k 2 -t'-' +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。 --help 显示帮助。
-u 在输出行中去除重复行。 如:sort -n -k2 file.txt 或则sort -g -k2 file.txt(从小到大排序)(加-r从大到小排序)

2. 提取文件的第几列:https://www.jianshu.com/p/12b344e39e4a

     awk '{print $2}' test1.txt     $表示第几列;     awk -F ":" '{print $2}' test2.txt      -F表示指定列(字段)分隔符。

                   A B C  awk '{print $1,$2}' filename 结果:A B。awk '{print $1 $2}' filename 结果:AB。  awk '{print $1 "-" $2}' filename 结果:A-B。

3. 快速删除linux下大文件头几行

    sed -i '1,nd' filename    删除第一行到第n行

4. awk按列合并示例:https://blog.csdn.net/jiuniu110/article/details/79889586

 将如下文本按第一列为主key,将相同的第二列值追加到同一行

 cat input.log

ofB8Mt00DhYwMOpJvGm2dKDnZ3NM 3037
ofB8Mt00DhYwMOpJvGm2dKDnZ3NM 3080
ofB8Mt0UrL1Ux_PzudJiG0kH4uN4 1223
ofB8Mt0UrL1Ux_PzudJiG0kH4uN4 1248
执行命令:

 cat input.log | awk '{a[$1]=a[$1]"|"$2}END{for( i in a){print i, a[i]"|"}}'

ofB8Mt00DhYwMOpJvGm2dKDnZ3NM |3037|3080|
ofB8Mt0UrL1Ux_PzudJiG0kH4uN4 |1223|1248|

5. Linux根据一个文件的列内容提取另一个文件的行 http://blog.sina.com.cn/s/blog_a7b297ed0102wlrl.html  https://www.jianshu.com/p/7e4c1ba5ebe4  https://www.jianshu.com/p/a34f939bb6ef

 

awk 'NR==FNR{a[$3]=$0}NR!=FNR{print a[$1]}' AllChr.impute.vcf SNP.txt > signSNPs.vcf

注:$3是AllChr.impute.vcf文件第三列

 6. ggplot2作图 KEGG http://www.360doc.com/content/17/0801/10/28491187_675773538.shtml

 

 7. 从blast结果中取出每个query搜到的evalue最小的结果

 awk '!a[$1]++{print}' sort.results > uniq.results              blast的-outfmt 6格式默认最上面的比对到的evalue最小,用awk根据第一列去重,默认会保留最上面的一条记录