概述
1.语法
printf打印格式字符串,解释'%'指令和''转义。
1.1.转义
printf使用时需要指定输出格式,输出后不换行。 printf FORMAT [ARGUMENT] printf OPTION |
格式控制 |
a :报警声 f :换页 n :新行 r :回车 t :横tab v :竖tab NNN :一个8进制数,打印ascii字符 xHH :一个16进制数,打印ascii字符 uHHHH :4位16进制数,表示的unicode字符(utf-16) UHHHHHHHH :8位16进制数,表示的unicode字符(utf-32) -v :输出到变量 - :左对其 |
转义字符,小实例:
# f 换页 $ printf "hellofworkerfhave a good day.n" hello worker have a good day. # # NNN $ printf "141101n" aA # xHHH $ printf "x61x41n" aA # uHHHH $ printf "u535au000du000au5ba2n" 博 客 $ printf "u535au5ba2n" 博客 # UHHHHHHHH $ printf "U0000535aU00005ba2n" 博客 $ printf "U535aU5ba2n" 博客 # unicode 兼容 ascii $ printf "u61u41n" aA $ printf "U61U41n" aA
1.左右“对齐”
$ printf "|%-7s||%7s||%s|n" Hello world "my love." |Hello || world||my love.| $ printf "%s/%sn" `pwd` `ls -1 csv-cron*` /home/cloudil/for_sunny/csv-crontab.sh $ printf "%s%sn" `pwd` `ls -1 csv-cron*` /home/cloudil/for_sunnycsv-crontab.sh
2.“回车”和“换行”
实例,对比“n.sh”、“r.sh”的倒数第三行执行效果有何差异,脚本分别如下:
$ cat n.sh #!/bin/bash # declare -i k=0 # until false do echo -n '-' sleep 0.01 echo -e -n 'b' sleep 0.01 echo -e -n 'b-' sleep 0.01 echo -e -n 'b/' sleep 0.01 echo -e -n 'b*' let k=k+1 if [ $k -eq 55 ] then k=0 printf "n" fi done $ cat r.sh #!/bin/bash # declare -i k=0 echo -n '-------------------------------------------------------' printf "r" # until false do echo -n '-' sleep 0.05 echo -e -n 'b' sleep 0.05 echo -e -n 'b-' sleep 0.05 echo -e -n 'b/' sleep 0.05 echo -e -n 'b*' sleep 0.3 echo -e -n 'b-' let k=k+1 if [ $k -eq 55 ] then k=0 printf "r" fi done
执行脚本“n.sh”,看看“n”的效果:
$ ./n.sh ******************************************************* ******************************************************* *****************^C
打印的会一行一行显示出来。
执行脚本“r.sh”,看看“r”的效果:
$ ./r.sh -------*-----------------------------------------------
就是一直在短横线上从左往右、一遍一遍打印“翻跟头”的星号。
例子:
#!/bin/bash name="matentgfei" age="22" dis_ () { cat <<EOF name: $name age: $age EOF } dis_
输出展示:
[view@file ~]$ ./cat.sh name: matentgfei age: 22
转载于:https://blog.51cto.com/sunnybay/1546176
最后
以上就是淡定山水为你收集整理的Shell 格式化输出数字、字符串(printf)的全部内容,希望文章能够帮你解决Shell 格式化输出数字、字符串(printf)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复