linux shell awk printf怎么对数字右补0,是右补0
echo 25 | awk '{printf ("%03d\n",$1)} '是左补0,我想实现右补0
cat xx.txt| awk -F ',' '{printf("%-019s,%f\n", $3, $9)}我这么写19位只是右补空格,并没有补0
由于printf很难右边补零这样的特性,可以换一种方式,作为字符串处理 echo 12145 | awk '{width=10; printf("%d",$1); for(i=0;i<width-length($1);++i) printf "0"; print ""} ' 其中width为指定的宽度
==========================================================================
awk输出单引号,双引号
双引号:
awk '{print "\""}' #放大:awk '{print " \" "}'
使用“”双引号把一个双引号括起来,然后用转义字符\对双引号进行转义,输出双引号。
单引号:
awk '{print "'\''"}' # 放大: awk '{print " ' \ ' ' " }'
使用一个双引号“”,然后在双引号里面加入两个单引号‘’,接着在两个单引号里面加入一个转义的单引号\',输出单引号。
===========================================================================