为了账号安全,请及时绑定邮箱和手机立即绑定

printf和print

$ df -h | grep "/dev/sd.." | awk '{print $5}' 

12% 

1% 

$ df -h | grep "/dev/sd.." | awk '{printf $5"\n"}' 

awk: run time error: not enough arguments passed to printf("12% ") FILENAME="-" FNR=1 NR=1

 哪里错了? 不是一样吗

正在回答

3 回答

因为你的结果是21%,但是printf  "21%"会报错,要想用printf输出'%',需要printf  '%%',所以改为$ df -h | grep "/dev/sd.." | awk '{printf $5"%""\n"}'就ok了 

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//5745ab1400017f2c04770041.jpg

我的为什么行啊?

0 回复 有任何疑惑可以回复我~

printf 是格式化输出,需要制定输出格式

df -h | grep "/dev/sd.." | awk '{printf "%s\n",$5}'


1 回复 有任何疑惑可以回复我~
#1

Gin3209056

help
2016-04-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

printf和print

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信