2、awk的输出
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)
2、awk的输出的更多相关文章
- shell编程系列15--文本处理三剑客之awk格式化输出printf
shell编程系列15--文本处理三剑客之awk格式化输出printf printf的格式说明符 格式符 含义 %s 打印字符串 %d 打印十进制数 %f 打印一个浮点数 %x 打印十六进制数 %o ...
- awk内置字符串函数 awk 格式化输出
i249 ~ # ps -efl|head -1|awk '$2~/S/{print $2}'Si249 ~ # ps -efl|awk '$2~/S/{print $2}'SSSS printf - ...
- 使用awk格式化输出文本
注意:本文并不是一篇awk入门文章,而是偏重实例讲解 awk借鉴了c语法,因此awk在许多地方还保留有c语言的痕迹,比如printf语句:for,if的语法结构等 介绍 最简单地说,AWK 是一种用于 ...
- linux:awk修改输出分隔符
file1的内容如下: a b c d e f g h 现在想要修改成 a b c:d e f g:h 则需要用到如下命令: awk -F " " '{print $1,$2,$3 ...
- awk应用
h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...
- awk(1)-简述
1.概述 AWK is a programming language designed for text processing and typically used as a data extract ...
- awk语法
awk是一个非常棒的数字处理工具.相比于sed常常作用于一整行的处理,awk则比较倾向于将一行分为数个“字段”来处理.运行效率高,而且代码简单,对格式化的文本处理能力超强.先来一个例子: 文件a,统计 ...
- awk命令--update20150120
简介 awk是一个强大的文本分析工具,把文件逐行读入,以空格为默认分隔符分割成field,切开的部分再进行各种分析处理. 模式和动作: 任何awk语句都是由模式和动作组成,模式部分决定动作语句何时触发 ...
- awk 手册--【转载】
1. 前言 有关本手册 : 这是一本awk学习指引, 其重点着重于 : l awk 适于解决哪些问题 ? l awk 常见的解题模式为何 ? 为使读者快速掌握awk解 ...
随机推荐
- (转)xshell基本操作步骤
xshell 操作方法如下: mkdir +文件夹名 (新建目录) ls 文件浏览(使用ls命令列出文件列表的信息,默认情况下为当前目录下的所有文件,并按照字母顺序排列) file [选项].. ...
- CentOS6安装vsftpd
练习:完成vsftpd配置 (1) 禁锢系统用户于家目录 [root@node3 ~]# yum -y install vsftpd [root@node3 ~]# vim /etc/vsftpd/v ...
- 监控文件的watchdog
watchdog用来监控指定目录/文件的变化,如添加删除文件或目录.修改文件内容.重命名文件或目录等,每种变化都会产生一个事件,且有一个特定的事件类与之对应,然后再通过事件处理类来处理对应的事件,怎么 ...
- debian的bt下载工具
sudo apt install qbittorrent 如果觉得下载慢,可以选择下载的文件,在trackers部分修改 https://github.com/ngosang/trackerslist
- lua语法基本
lua的下载 http://luabinaries.sourceforge.net/点击所要下载的版本比如我下的是5.3.3https://sourceforge.net/projects/luabi ...
- 【转】使用ant来调用Jmeter,并定制运行时参数
为了应对不同的运行需求(主要是不同的线程数),以及可能的变化(host ip),在nongui运行时我对ant build.xml进行了一些修改 1. log目录备份与运行前清除 <tstamp ...
- 分布式缓存系统 Memcached 基本配置与命令
为了方便测试,给出一个C客户端libmemcached链接:https://launchpad.net/libmemcached/ 以及memcacheclient-2.0 : http://code ...
- python3+ros+telnet+telnetlib
利用python3的telnetlib模块 远程登录ros,输入帐号密码,然后执行命令,并导出结果到txt文本: 不过实际操作这种方式不行,因为telnet导出来的文本文件,带颜色编码,根本无法看哦. ...
- MFC学习(六)计算器
1 stdafx.h 所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H.Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使 ...
- Oracle10g客户端连接远程数据库配置图解
yuanwen:http://blog.csdn.net/DKZhu/article/details/6027933 一. 安装oracle客户端 1. 运行setup.exe,出现 2. ...