matlab printf格式化输出,Shell printf格式化输出命令
printf 是 awk 的重要格式化输出命令,本节我们先介绍一下 printf 命令如何使用。
需要注意,在 awk 中可以识别 print 输出动作和 printf 输出动作(区别是:print 会在每个输出之后自动加入一个换行符;而 printf 是标准格式输出命令,并不会自动加入换行符,如果需要换行,则需要手工加入换行符),但是在 Bash 中只能识别标准格式化输出命令 printf。所以我们在本小节中介绍的是标准格式化输出命令 printf。
printf 命令格式如下:
[root@localhost ~]# printf '输出类型输出格式' 输出内容
输出类型:
%ns:输出字符串。n 是数字,指代输出几个字符;
%ni:输出整数。n 是数字,指代输出几个数字‘’
%m.nf: 输出浮点数。m 和 n 是数字,指代输出的整数位数和小数位数。如 %8.2f 代表共输出 8 位数,其中 2 位是小数,6 位是整数;
输出格式:
\a: 输出警告声音;
\b:输出退格键,也就是 Backspaced 键;
\f:清除屏幕;
\n:换行;
\r:回车,也就是 Enter 键;
\t:水平输出退格键,也就是 Tab 键;
\v:垂直输出退格键,也就是 Tab 键;
为了演示 printf 命令,我们需要修改一下刚刚 cut 命令使用的 student.txt 文件。文件内容如下:
[root@localhost ~]# vi student.txt
ID Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
3 Gao 99 83 93 91.66
我们使用 printf 命令输出这个文件的内容,如下:
[root@localhost ~]# printf '%s' $(cat student.txt)
IDNamegenderPHPUnuxMySQl_Average1LjmingM82 958687.662ScM74968785.663GaoM998393 91.66
[root@localhost ~]#
输出结果十分混乱。这就是 printf 命令,如果不指定输出格式,则会把所有输出内容连在一起输出。其实文本的输出本身就是这样的,cat 等文本输出命令之所以可以按照格式漂亮地输出,那是因为 cat 命令已经设定了输出格式。
那么,为了用 printf 输出合理的格式,应该这样做:
[root@localhost ~]# printf '%s\t %s\t %s\t %s\t %s\t %s\t\n' $(cat student.txt)
#注意:在printf命令的单引号中只能识别格式输出符号,而手工输入的空格是无效的
ID Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
3 Gao 99 83 93 91.66
再强调一下:在 printf 命令的单引号中输入的任何空格都不会反映到格式输出中,只有格式输出符号才能影响 printf 命令的输出结果。
解释一下这个命令:因为我们的文档有6列,所以使用 6 个"%s"代表这 6 列字符串,每个字符串之间用"\t"分隔;最后还要加入"\n",使得每行输出都换行,否则这些数据还是会连成一行的。
如果不想把成绩当成字符串输出,而是按照整型和浮点型输出,则要这样做:
[root@localhost ~]# printf '%i\t %s\t %i\t %i\t %i\t %8.2f\t\n'\
$(cat student.txt | grep -v Name)
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
3 Gao 99 83 93 91.66
先解释"cat student.txt|grep -v Name"这条命令。这条命令会把第一行标题取消,剩余的内容才用 printf 格式化输出。在剩余的内容中,第 1、3、4、5 列为整型,所以用"%i"输出;而第 2 列是字符串,所以用"%s"输出;而第 6 列是小数,所以用"%8.2f"输出。"%8.2f"代表可以输出 8 位数,其中有 2 位是小数,有 6 位是整数。
printf 命令是 awk 中重要的输出动作,不过 awk 中也能识别 print 动作,区别刚刚已经介绍了,当然稍后我们还会举例来说明一下这两个动作的区别。注意:在 Bash 中只有 printf 命令。另外,printf 命令只能格式化输出具体数据,不能直接输出文件内容或使用管道符,所以 printf 命令的格式还是比较特殊的。
matlab printf格式化输出,Shell printf格式化输出命令相关推荐
- shell printf命令:格式化输出语句
printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...
- Shell printf格式化输出命令
printf 是 awk 的重要格式化输出命令,本节我们先介绍一下 printf 命令如何使用. 需要注意,在 awk 中可以识别 print 输出动作和 printf 输出动作(区别是:print ...
- Go 学习笔记(46)— Go 标准库之 fmt(输入/输出格式化参数、Printf/Fprintf/Sprintf区别、Println/Fprintln/Sprintln 区别)
1. 概述 import "fmt" fmt 包实现了类似 C 语言 printf 和 scanf 的格式化 I/O .格式化动作( verb )源自 C 语言但更简单. 2. P ...
- C语言scanf()函数格式化输入和printf()格式化输出。
scanf函数格式化输入和printf格式化输出 要实现的功能如下 完整源代码实现如下 要实现的功能如下 scanf函数格式化输入字符串和字符,printf格式化输出字符串和字符. 完整源代码实现如下 ...
- go语言 格式化输出fmt.Printf()使用大全
[简介] fmt 包实现了格式化 I/O 函数,类似于 C 的 printf 和 scanf.格式"占位符"衍生自 C,但比 C 更简单. [打印] 占位符: [一般] %v 相应 ...
- C方式格式化输出(printf 函数详解)
本篇将重点介绍C语言的格式化输出函数 printf.当然该函数在C++程序中也可以使用. 目录 printf 函数构成及标准函数语句 格式字符种类的介绍 printf 函数的具体细节实现 格式符数量与 ...
- Go语言基础--Printf格式化输出、Scanf格式化输入详解
几种输出方式的区别 Print.Println .Printf .Sprintf .Fprintf都是fmt 包中的公共方法,在需要打印信息时需要用到这些函数,那么这些函数有什么区别呢? Print: ...
- sed 分隔符打印_字符截取:cut,格式化输出:printf,字符截取:awk,文件或命令输出编辑:sed...
cut 选项 文件名 -f 列号 提取第几列 -d 分隔符 指定分隔符把行分成多列 不能以空格为分隔符. [root@localhost ~]# cattestfile no. name sex sc ...
- C语言如何返回格式化日期时间(格式化时间)?(将日期和时间以字符串格式输出)ctime()、asctime()、localtime()、strftime()
文章目录 ctime()函数: asctime()函数 获取自定义格式化时间(有bug,当时间为个位数时,没有在前面自动补零) 改成函数接口形式(传入字符指针) 20220107 优化后(能自动补零) ...
最新文章
- C# 合并DLL, 合并DLL进入EXE
- VTK:平面源用法实战
- ASP实现数据库事务处理的方法
- ENVI5.4完美实现MODIS NDVI数据格式转换和投影变换
- c语言单元二实验报告,C语言第七次实验报告
- irule jar包无法导入_poi表格的导入导出
- lettuce配置_skywalking与lettuce哨兵模式
- cocos2dx中的Rapidjson
- 【RN6752】模拟高清AHD芯片或成为车机新标配
- 用crontab命令实现每天定时的病毒扫描
- 第三季-第4课-Linux应用程序地址布局
- MATLAB实现DES算法子密钥生成
- Python+Appium自动化搭建新手教程
- 【sduoj】前端JSZip库的使用
- 基于全志a31s的camrea驱动调试(gc2145型号)
- 高手 读书笔记-1.精英社会的神话
- dBm和dB(纯计数单位)
- 自己开发iOS版按键精灵--TTouch
- cf596B. Wilbur and Array
- SPA项目开发 之 登录注册