nsjd.net
当前位置:首页 >> shEll Awk printF >>

shEll Awk printF

由于printf很难右边补零这样的特性,可以换一种方式,作为字符串处理 echo 12145 | awk '{width=10; printf("%d",$1); for(i=0;i

用printf控制格式输出最简单: echo "11 22 33"|awk '{printf "%2s\n",$2}' 如果非要用print: echo "11 22 33"|awk 'BEGIN{FS=" "}{if(NF

$ ./xx8 |到目前您已帮助了250715位网友. | | 到目前您已帮助了250715位网友.| $ cat xx8 #!/bin/bash awk 'BEGIN{ str = "到目前您已帮助了250715位网友." printf("|%-40s|\n", str); printf("|%40s|\n", str); }'

用 awk 计算,printf 格式化输出。 a=450a=$(awk -v n=$a '{printf("%.2f", n/30000)}')echo $a

百分号是占位符,输出百分号本身需要写两个百分号%%。

引用a的时候不要加$

打印第一个

var是shell变量,而awk是Linux中独立于shell的一个工具。在awk中如果要解析shell变量,需要将变量拿到awk的作用域外面来,即,先关闭awk的单引号,引用变量后再次打开。 echo $str|awk -F, '{print '$var'}'

不是百分号的原因。 正确: awk -F "|" '{print $0}' $tablename.tmp print 是输出相关内容, 如print $1 printf 是格式化输出内容, 如printf("I want to put: %s\n", $0)

#!/bin/bash NowTime=`date +%F' '%T` PhyMemPercent=`free -m|grep "Mem:"|awk '{printf("%2.2f\n",$3 * 100/$2)}'` VirMemPercent=`free -m|grep "Swap"|awk '{printf("%2.2f\n",$3 * 100/$2)}'` pyhmem=`free -m |grep "Mem:" |awk '{print $...

网站首页 | 网站地图
All rights reserved Powered by www.nsjd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com