awk 基本参数解释

本文来自生信宝典-Linux教程76页

awk 擅长于对文件按行操作,每次读取一行,然后进行相应的操作。


awk 读取单个文件时的基本语法格式是awk 'BEGIN{OFS=FS="\t"}{print $0, $1;}' filename。


读取多个文件时的语法是awk 'BEGIN{OFS=FS="\t"}ARGIND==1{print $0, $1;}ARGIND==2{print $0;}' file1 file2。


awk 后面的命令部分是用引号括起来的,可以单引号,可以双引号,但注意不能与内部命令中用到的引号相同,否则会
导致最相邻的引号视为一组,引发解释错误。引号不可以嵌套


• OFS: 文件输出时的列分隔符(output field separtor)
• FS: 文件输入时的列分隔符(field separtor)
• BEGIN: 设置初始参数,初始化变量
• END: 读完文件后做最终的处理
• 其它{}:循环读取文件的每一行
• $0 表示一行内容;$1, $2, … $NF 表示第一列,第二列到最后一列。
• NF (number of fields) 文件多少列;NR (number of rows) 文件读了多少行: FNR 当前文件读了多少行,常
用于多文件操作时。

a[$1]=1: 索引操作,类似于python 中的字典,在ID map,统计中有很多应用

你可能感兴趣的:(linux)