awk命令中的子字符串

awk命令中的子字符串,awk,substring,Awk,Substring,我正在使用awk命令: df -Pk | grep /var/prod/data | awk '{q=sprintf("%c", 39); print "INSERT INTO entity_trend(entity_name,entity_type,run_date,count) VALUES (\47DISKSPACE\47,\47SPACE\47,SYSDATE,"$5");";}' > cmd.sql 因此,cmd.sql的内容将是: INSERT INTO entity_tre

我正在使用awk命令:

df -Pk | grep /var/prod/data | awk '{q=sprintf("%c", 39); print "INSERT INTO entity_trend(entity_name,entity_type,run_date,count) VALUES (\47DISKSPACE\47,\47SPACE\47,SYSDATE,"$5");";}' > cmd.sql
因此,cmd.sql的内容将是:

INSERT INTO entity_trend(entity_name,entity_type,run_date,count) VALUES ('DISKSPACE','SPACE',SYSDATE,**52%**);
相反,我想要:

INSERT INTO entity_trend(entity_name,entity_type,run_date,count) VALUES ('DISKSPACE','SPACE',SYSDATE,**52**);

如何生成子字符串命令?

添加
+0
以除去
%
$5+0

awk '{q=sprintf("%c", 39); print "INSERT... SYSDATE,"$5+0");";}' > cmd.sql
                                                       ^^
请参见一个示例:

$ echo "55%" | awk '{print $0}'
55%
$ echo "55%" | awk '{print $0+0}'
55

事实上,做算术运算会使
awk
将字符串“转换”为数字,这样
%
就会被剥离。此外,如果问题得到解决,请随意接受答案:)