printf和print

来源:2-4 shell字符截取命令之awk命令(下)

慕虎9238834

2016-04-24 22:04

$ 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回答

  • 七喜__
    2020-09-03 17:14:43

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

  • wulongtao
    2016-05-25 21:40:39

    http://img.mukewang.com/5745ab1400017f2c04770041.jpg

    我的为什么行啊?

  • 痕六
    2016-04-24 23:53:12

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

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


    Gin320...

    help

    2016-04-24 23:55:50

    共 1 条回复 >

shell编程之正则表达式

为你带来shell编程中的正则表达式,能够熟练运用正则表达式

39682 学习 · 73 问题

查看课程

相似问题