awk什么意思 shell的awk中用if。else,怎么多條件嵌套?
shell的awk中用if。else,怎么多條件嵌套?Awk“{if($1==1)print”a“else if($1==2)print”B”else print”C“}”命名為1.sh執(zhí)行方法:ec
shell的awk中用if。else,怎么多條件嵌套?
Awk“{if($1==1)print”a“else if($1==2)print”B”else print”C“}”命名為1.sh執(zhí)行方法:echo”1“| sh 1.sh寫(xiě)一行:echo”3“| Awk”{if($1==1)print”a“else if($1==2)print”B”else print”C“}]~。
例如,以下示例myexample.txt文件
123456789-p491666#########執(zhí)行以下awk命令,自定義內(nèi)部變量subar捕獲完全匹配和子匹配的內(nèi)容,
################################## myexample.txt文件
太棒了
subar[0]是整條正則表達(dá)式(整行)匹配的內(nèi)容
subar[1]是第一個(gè)括號(hào)中匹配的內(nèi)容,即第一個(gè)子匹配;
如果正則表達(dá)式中有多對(duì)括號(hào),相應(yīng)的下標(biāo)用于subar變量以獲得子匹配;
subar[2]。。。第二個(gè)子匹配
subarr[3]第三個(gè)子匹配
…
依此類(lèi)推
首先要注意FNR和NR的區(qū)別:FNR是每個(gè)文件的行號(hào),每個(gè)文件從第一行開(kāi)始,NR是awk處理的行號(hào),1~n,不是從1開(kāi)始,例如:
#awk “{print NR,$0}”file1 file21 a B C D2 a B D C3 a C B D4 AA BB CC DD5 AA BB DD cc6 AA CC BB DD
]#awk “{print NR,$0}”FNR,$0}”file1 file21 a B C D2 a B D C3 a C B D1 AA BB CC DD2 AA BB DD CC3 AA CC BB DD
因此,要合并不同文件的同一行,例如第一行,可以使用:[sum if it是一個(gè)數(shù)字]awk“FNR==1{sum=sum$0}end{print sum}”file1 File2 file3
如果是字符串,可以連接字符串,例如: