请教在awk中printf里如何使用变量
遇到有%不能正常输出,不应该有这种情况。你看下面这个例子:
$ echo "哪%d里字/t人" | awk '{printf("%s\n",$0)}'
哪%d里字/t人
所以,像下面这样就可以:
awk '{for(i=1;i<=NF;i++)if($i=="android" || $i=="iphone"){printf("%s\n",$(i+1));break}}'printf("a=%d%%\n",a);
%s是表示格式化,\n表示换行,这两个都是有特定意义的;
result里不会包含进去,而result里含有的所有字符串都会照常打印出来;
%s和\n都是printf第一个参数的语法,printf按照这个参数解释你后面的变量。
但是对于%s,变量只要是字符串指针或数组就可以了,内容会被原样打印出来,不会被格式化语法影响。
awk的print用法
awk中使用printf和C语言的printf 用法基本是一样的 都是用 printf("格式化字符串", 变量) 这种形式 例如 awk ' { printf ("%d\n", a); } ' 就是输出整数a任务占坑
原创文章,作者:墨羽SEO,如若转载,请注明出处:https://www.moyuseo.com/fuwuqi/8647.html