Add double quotation to Output

tail -n +7 1.txt |head -n -2|awk '{print "sql", $1,"-c groom table " $5 ,"versions"}'
sql DB1 -c groom table T1 versions
sql DB2 -c groom table T2 versions
sql DB3 -c groom table T3 versions

but i want out should be

sql DB1 -c "groom table T1 versions"
sql DB2 -c "groom table T2 versions"
sql DB3 -c "groom table T3 versions"

when i try this

tail -n +7 1.txt |head -n -2|awk '{print "sql", $1,""""-c groom table " $5 ,"versions"}'
awk: {print "sql", $1,""""-c groom table " $5 ,"versions"}
awk:                                                      ^ unterminated string

Can some one suggest how can i do achieve this ?

Try:

awk '{print "sql " $1 " \"-c groom table " $5 " versions\""}'

Hello rocking77,

Could you please try this and let me know if this helps, this solution considers like you have data in sample Input_file shown format only.

awk -vs1="\"" -F"-c " '{A=$1 FS;for(i=2;i<=NF;i++){A=A?A s1 $i s1:s1 $i s1};print A;A=""}'  Input_file

Output will be as follows.

sql DB1 -c "groom table T1 versions"
sql DB2 -c "groom table T2 versions"
sql DB3 -c "groom table T3 versions"

EDIT: Or let's try to solve the command shown by you in post, not tested though.

tail -n +7 1.txt | head -n -2| awk -vs1="\"" '{print "sql " $1 " -c " s1 "groom table " $5 " versions" s1}'

Thanks,
R. Singh

Variation with printf:

awk '{printf "sql %s -c \"groom table %s versions\"\n", $1, $5}'