$catfile|head
genome.standard.fa zb1s3.genome.fsa
NUCMER
[P1][SUB][P2]|[BUFF][DIST]|[LEN R][LEN Q]|[FRM][TAGS]========================================================================================680. T 115038|680680|118841821128952358|11 Chr01 Chr01
2127. G 116486|5732127|118841821128952358|11 Chr01 Chr01
2700. T 117060|482700|118841821128952358|11 Chr01 Chr01
2748. T 117109|482748|118841821128952358|11 Chr01 Chr01
2895. T 117257|1472895|118841821128952358|11 Chr01 Chr01
$awk'NR>5 {print}'file|head680. T 115038|680680|118841821128952358|11 Chr01 Chr01
2127. G 116486|5732127|118841821128952358|11 Chr01 Chr01
2700. T 117060|482700|118841821128952358|11 Chr01 Chr01
2748. T 117109|482748|118841821128952358|11 Chr01 Chr01
2895. T 117257|1472895|118841821128952358|11 Chr01 Chr01
5015. A 119378|525015|118841821128952358|11 Chr01 Chr01
5067. T 119431|525067|118841821128952358|11 Chr01 Chr01
5124. T 119489|575124|118841821128952358|11 Chr01 Chr01
5411. G 119777|715411|118841821128952358|11 Chr01 Chr01
5482. C 119849|715482|118841821128952358|11 Chr01 Chr01
#NR>5:这是一个模式,它表示匹配行号(NR)大于5的行。换句话说,这个模式只会对文件中的第6行及以后的行进行匹配。#{print}:这是一个动作,当模式匹配时,它会打印对应的行内容。这里的print表示打印整个行,相当于print $0,其中$0表示当前行的全部内容。
末尾添加一列随机命名且不重复
$catfile|head
T .115038128952358 Chr01
G .116486128952358 Chr01
T .117060128952358 Chr01
T .117109128952358 Chr01
T .117257128952358 Chr01
A .119378128952358 Chr01
T .119431128952358 Chr01
T .119489128952358 Chr01
G .119777128952358 Chr01
C .119849128952358 Chr01
$awk'{print $0, "RAND" NR}'file|head
T .115038128952358 Chr01 RAND1
G .116486128952358 Chr01 RAND2
T .117060128952358 Chr01 RAND3
T .117109128952358 Chr01 RAND4
T .117257128952358 Chr01 RAND5
A .119378128952358 Chr01 RAND6
T .119431128952358 Chr01 RAND7
T .119489128952358 Chr01 RAND8
G .119777128952358 Chr01 RAND9
C .119849128952358 Chr01 RAND10
#{print $0, "RAND" NR}:这是一个动作,表示对于每一行,打印该行的内容($0表示当前行的全部内容),然后在末尾添加一个空格以及"RAND"和当前行号(NR)的组合。"RAND"表示固定的字符串,NR表示awk内置的变量,表示当前处理的行号。