1、常见的输出格式整理

awk '{print "this is " $1, $2, $1*$2, NR, NF, $NF}' file1   ###字符输出,字段输出,运算输出,内置变量输出等,默认空格分开;$1 ,$2调换顺序打印随之变化

awk 'BEGIN{FS=OFS="\t"} {print $1,$2 }' file2  ###读入字段分割,输出字段分割

awk -F '[ :\t|]' '{print $1}' file          ##可以有多个分割符

awk  {printf ("this is\t%d\t%.2f %s %s %s\n",NR,NF,$1,$2,$NF)}'  file3 ###printf( )不自动换行;%d ,%.2f, %s;字段分割也可以指定

awk '{$2="";print }' file  ##不打印第二列

2、选择

数字选择:awk '$2 > 10{print}' file    ###+   -  *   /    %  ^ ; >=   <=   !=   ==  ; ~    !~   /gene/ || /mNA/

字符选择 :awk ‘$2 == "gene" {print}’ file

    awk '/mRNA/{match($9,/ID=(.*);P/,a);printf "%s\t%s\t%d\t%d\n",$1,a[1],$4,$5}' Chr_genome_final_gene.gff3  ##生成circos的gff文件

    awk '{gsub(/gene/,"gene_id",$3);print}' Chr_genome_final_gene.gff3|less          ##替换处理

正则匹配:awk ‘ /gene/ {print}’ file   ###^   $   .   []  \  | () * + ?

组合选择:&& || ! 和and  or not

      awk ‘$2 >=10 && $3<=20 {print}’ file

文本处理开始于结束BEGIN{} END{}

3、计算

数字计算:awk '{a+=2}END{print a}' file      

字符串联:awk '{a = a " " $1} END{print a}' file   或者  awk '{a = a $1 " "} END{print a}' file

总行以及最后一行:awk '{last = $0}END{print NR, last}' file     

内建函数:length($0)          ##$0不包含换行符

每一行所有字段和:awk '{ sum = 0; for( i = 4; i <= 5; i++){printf("%d\t" , $i); sum += $i };print sum }'    ##打印4,5列,计算每行的4到5列的和

所有行字段和:awk '{ for( i = 4; i <= 5; i++){ sum+=$i }}END{ print sum }'

4、流程控制语句

if() print else print

while(){}

for (i=0; i<=5;i++){}

for (i  in  a) {}

next  ; break

4、数组

awk '{a[NR] = $0} END{ for(i = 1;i <= NR;i++)print a[i]}' file

5、常用内建字符串函数

index(r , t)    match(s , r ,arr)   sprintf   split(s ,arr, fs)   gsub(r ,s, tar)   substr(s, star, len)

最新文章

  1. 移动端API架构 统一Proxy还是各自为政?
  2. HibernateUtil工具类
  3. sublime 的使用
  4. java foreach 循环原理
  5. Qt隐藏标题栏
  6. (IIS8/8.5/Apache)301域名重定向
  7. SATA1.0,2.0,3.0区别
  8. 17.1.1.8?Setting Up Replication with Existing Data设置复制使用存在的数据
  9. jquery插件讲解:轮播(SlidesJs)+验证(Validation)
  10. listener.ora中PLSExtPro 和ExtProc的作用(转)
  11. .NET:国际化和本地化
  12. C# 设计模式之空对象模式
  13. JAVA,JSP,Servlet获取当前工程路径-绝对路径
  14. require()的工作流程
  15. 数据定义: CREATE、DROP、ALTER
  16. NB-IoT是怎么工作的,是否支持基站定位?【转】
  17. [数据结构] 用C语言模拟一个简单的队列程序
  18. 『数组的最大代价 贪心优化DP』
  19. 开发Spring过程中几个常见异常(二):Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name &#39;a&#39; define
  20. PXE 实现自动装机

热门文章

  1. 定时框架quartz的一些问题总结
  2. bzoj 2282 消防
  3. Python 字典 列表 嵌套 复杂排序大全
  4. Voting and Shuffling to Optimize Atomic Operations
  5. 关于yii2的中文乱码问题
  6. java中二维数组求最大值代码。。。。。。不懂呀
  7. NOIP2005普及组第4题 循环
  8. Vue.js:template
  9. 用一两句话说一下你对“盒模型”这个概念的理解,和它都涉及到哪些css属性
  10. JavaScript第二节