awk中printf如何输出%
发布网友
发布时间:2022-04-24 22:11
我来回答
共3个回答
热心网友
时间:2023-10-12 21:28
printf("a=%d%%\n",a);
%s是表示格式化,\n表示换行,这两个都是有特定意义的;
result里不会包含进去,而result里含有的所有字符串都会照常打印出来;
%s和\n都是printf第一个参数的语法,printf按照这个参数解释你后面的变量。
但是对于%s,变量只要是字符串指针或数组就可以了,内容会被原样打印出来,不会被格式化语法影响。
热心网友
时间:2023-10-12 21:28
遇到有%不能正常输出,不应该有这种情况。你看下面这个例子:
$ 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}}' file.txt
热心网友
时间:2023-10-12 21:29
遇到有%不能正常输出,不应该有这种情况。你看下面这个例子:
$ 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}}' file.txt