awkprintf

请教在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

(0)
墨羽SEO的头像墨羽SEO
上一篇 2021年12月26日 上午10:46
下一篇 2021年12月26日

相关推荐

分享本页
返回顶部
欢迎来到互联网运营人学习交流技术网站!