如何使用变量打印字符串?
尝试这样做:
awk -F ',' '{printf /p/${3}_abc/xyz/${5}_abc_def/}' file
需要输出这个内容
/p/APPLE_abc/xyz/MANGO_abc_def/
其中${3} = 苹果
,${5} = 芒果
printf
允许变量插值。使用以下代码作为测试文件:
$ cat file
a,b,APPLE,d,MANGO,f
printf
按以下方式实现您想要的输出:$ awk -F, '{printf "/p/%s_abc/xyz/%s_abc_def/\n",$3,$5;}' file
/p/APPLE_abc/xyz/MANGO_abc_def/
printf
中,字符串 %s
表示将变量插入此处作为字符串。 我们有两个 %s
的实例,一个是用于 $3
,另一个是用于 $5
。阅读起来不太方便,但这里并不需要printf。如果将字符串部分加上引号,Awk可以直接将变量插入到字符串中。
$ cat file.txt
1,2,APPLE,4,MANGO,6,7,8
$ awk -F, '{print "/p/" $3 "_abc/xyz/" $5 "_abc_def/"}' file.txt
/p/APPLE_abc/xyz/MANGO_abc_def/
file
的内容吗? - Jose Ricardo Bustos M.