如何打印带变量的字符串?带变量的Awk打印字符串
尝试这个
awk -F ',' '{printf /p/${3}_abc/xyz/${5}_abc_def/}' file
在输出
/p/APPLE_abc/xyz/MANGO_abc_def/
其中${3} = APPLE
和${5} = MANGO
如何打印带变量的字符串?带变量的Awk打印字符串
尝试这个
awk -F ',' '{printf /p/${3}_abc/xyz/${5}_abc_def/}' file
在输出
/p/APPLE_abc/xyz/MANGO_abc_def/
其中${3} = APPLE
和${5} = MANGO
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
手段插入-A-可变这里,作为-a串。我们有两次出现%s
,一次出现$3
,另一次出现$5
。
这工作完美无瑕。谢谢!! – Glad
不可读,但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'内容? –