awk命令中的子字符串
我正在使用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
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
将字符串“转换”为数字,这样%
就会被剥离。此外,如果问题得到解决,请随意接受答案:)