全部博文(362)
分类:
2010-09-19 15:39:12
[root@linux ~]# printf '打印格式' 实际内容 参数: 关于格式方面的几个特殊样式: \a 警告声音输出 \b 退格键(backspace) \f 清除屏幕 (form feed) \n 输出新的一行 \r 亦即 Enter 按键 \t 水平的 [tab] 按键 \v 垂直的 [tabl] 按键 \xNN NN 为两位数的数字,可以转换数字成为字符。 关于 C 程序语言内,常见的变数格式 %ns 那个 n 是数字, s 代表 string ,亦即多少个字符; %ni 那个 n 是数字, i 代表 integer ,亦即多少整数字数; %N.nf 那个 n 与 N 都是数字, f 代表 floating (浮点),如果有小数字数, 假设我共要十个位数,但小数点有两位,即为 %10.2f 啰! 范例: 范例一:将刚刚上头的数据变成档案,仅列出姓名与成绩:(用 [tab] 分隔 [root@linux ~]# printf '%s\t %s\t %s\t %s\t %s\t \n' `cat printf.txt` Name Chinese English Math Average DmTsai 80 60 92 77.33 VBird 75 55 80 70.00 Ken 60 90 70 73.33 # 假设我将上面的档案存成 printf.txt 档案档名,则可利用上面的案例, # 将每个单字中间以 [tab] 按键隔开。由上面的输出来看,虽然第二行以后是 OK 的, # 但是第一行则因为某些单字长度较长,所以就无法对齐了!而 %s 表示以字符串 (string) # 的方式来展现该内容。而每个内容则以 \t 即 [tab] 来隔开啊! 范例二:将上述资料关于第二行以后,分别以字符串、整数、小数点来显示: [root@linux ~]# printf '%10s %5i %5i %5i %8.2f \n' `cat printf.txt |\ > grep -v Name` DmTsai 80 60 92 77.33 VBird 75 55 80 70.00 Ken 60 90 70 73.33 # 这个时候的输出可就有趣了!我将几个内容分成不同的数据格式来输出, # 最有趣的应该是 %8.2f 这个项目了!我可以针对不同的小数字数来进行格式输出, # 例如变成底下的样子时,您自己试看看,会是输出什么结果喔! # printf '%10s %5i %5i %5i %8.1f \n' `cat printf.txt | grep -v Name` 范例三:列出数值 45 代表的字符为何? [root@linux ~]# printf '\x45\n' E # 这东西也很好玩~他可以将数值转换成为字符,如果您会写 script 的话, # 可以自行测试一下,由 20~80 之间的数值代表的字符是啥喔! ^_^