shell 在awk输出中为变量添加双引号

7cjasjjr  于 2022-11-16  发布在  Shell
关注(0)|答案(1)|浏览(159)

对于此文件中的每一行,我将基于|并需要添加双引号以下是文件的内容

ks|active|0.1|0
ks|dc|0.1|0
ks|process|0.1|0

所需输出

ALTER TABLE "ks"."active" WITH gc_grace_seconds=0;
ALTER TABLE "ks"."dc" WITH gc_grace_seconds=0;
ALTER TABLE "ks"."process" WITH gc_grace_seconds=0;

下面是我正在使用的命令(它没有向$1和$2追加值

cat table_list | awk -F '|' {'print "ALTER TABLE " $1 "." $2 " WITH gc_grace_seconds=0;" '}

我正在使用的这个命令的输出

ALTER TABLE ks.active WITH gc_grace_seconds=0;
ALTER TABLE ks.dc WITH gc_grace_seconds=0;
ALTER TABLE ks.process WITH gc_grace_seconds=0;
rqcrx0a6

rqcrx0a61#

您不需要cat,可以使用printf,它可能更容易获得所需的输出

awk -F\| '{printf("ALTER TABLE \"%s\".\"\%s\" WITH gc_grace_seconds=0;\n", $1, $2)}' < table_list

相关问题