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执行方法:echo”1“| sh 1.sh写一行:echo”3“| Awk”{if($1==1)print”a“else if($1==2)print”B”else print”C“}]~。
例如,以下示例myexample.txt文件
123456789-p491666#########执行以下awk命令,自定义内部变量subar捕获完全匹配和子匹配的内容,
################################## myexample.txt文件
太棒了
subar[0]是整条正则表达式(整行)匹配的内容
subar[1]是第一个括号中匹配的内容,即第一个子匹配;
如果正则表达式中有多对括号,相应的下标用于subar变量以获得子匹配;
subar[2]。。。第二个子匹配
subarr[3]第三个子匹配
…
依此类推
首先要注意FNR和NR的区别:FNR是每个文件的行号,每个文件从第一行开始,NR是awk处理的行号,1~n,不是从1开始,例如:
#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是一个数字]awk“FNR==1{sum=sum$0}end{print sum}”file1 File2 file3
如果是字符串,可以连接字符串,例如:
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。