shell 中的printf用法

来源:互联网 发布:lrc校验算法 编辑:程序博客网 时间:2024/04/19 21:05
  1. 输出函数printf:printf([format_control_flg],arg)  
  2. printf修饰符  
  3. ——————————————————————————————————————————————————  
  4. -       左对齐  
  5. Width       域的步长,0表示0步长  
  6. .prec       最大字符串长度,或小数点左边的位数  
  7. ——————————————————————————————————————————————————  
  8.   
  9. printf格式  
  10. ————————————————————————————————————————————————————  
  11. %c      ASCII字符  
  12. %d      整数  
  13. %e      浮点数,科学计数法,如:12.3×10e4  
  14. %f      浮点数,如:123.45  
  15. %g      awk决定使用哪种浮点数转换e或者f  
  16. %o      八进制数  
  17. %s      字符串  
  18. %x      十六进制  
  19. ————————————————————————————————————————————————————  
  20. 1.字符转换  
  21. echo "65" | awk '{printf "%c\n",$0}'  
  22. A  
  23. awk 'BEGIN{ printf "%c %c %c %c %c#%c\n",92,93,94,95,96,97}'  
  24. \ ] ^ _ `#a  
  25. awk 'BEGIN{printf "%f\n",0}'  
  26. 0.000000  
  27. awk 'BEGIN{printf "%f\n",1.0215}'  
  28. 1.021500  
  29.   
  30. 2.格式化输出  
  31. 逐行打印格式化数据:  
  32. awk '{printf "%-15s %s\n",$1,$3}' grade.txt  
  33. M.Tansley       48311  
  34. J.Lulu          48317  
  35. P.Bunny         48  
  36. J.Troll         4842  
  37. L.Tansley       4712  
  38. awk 'BEGIN{printf "Name \t\tS.Number\n"}{printf "%-15s %s\n",$1,$3}' grade.txt  
  39. Name            S.Number  
  40. M.Tansley       48311  
  41. J.Lulu          48317  
  42. P.Bunny         48  
  43. J.Troll         4842  
  44. L.Tansley       4712  
  45.   
  46. 3.向一行awk命令传值  
  47. awk 命令变量 = 输入值  
  48. awk '{if ($5<AGE) print $0}' AGE=10 grade.txt  
  49. M.Tansley  05/99  48311  Green    8    40   44  
  50. J.Lulu     06/99  48317  green    9    24   26  
字符串屏蔽序列  
  1. —————————————————————————————  
  2. \b  退格键  
  3. \f  走纸换页  
  4. \n  换行  
  5. \r  回车键  
  6. \r  tab键  
  7. \ddd    八进制  
  8. \c  任意其他字符  
  9. —————————————————————————————  
  10. awk 'BEGIN{print "May\tDay\n\nMay \104\141\171"}'  
  11. May     Day  
  12.   
  13. May Day  
  14. \104:D的八进制ASCII码  
  15. \141:a的八进制ASCII码  
  16. \171:y的八进制ASCII码  
0 0
原创粉丝点击