awk擅长于对文件按行操作,每次读取一行,然后进行相应的操作。
awk读取单个文件时的基本语法格式是
awk 'BEGIN{OFS=FS="\t"}{print $0, $1;}' filename
读取多个文件时的语法是
awk 'BEGIN{OFS=FS="\t"}ARGIND==1{print $0, $1;}ARGIND==2{}' 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 当前文件读了多少行,常用于多文件操作时。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!